Секреты и интересные возможности Qt |
Здравствуйте, гость ( Вход | Регистрация )
Секреты и интересные возможности Qt |
Admin |
9.12.2008, 15:59
Сообщение
#21
|
Администратор Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: 2 |
Треп перенесен в тему Треп из темы Секреты и интересные возможности Qt.
Так как он всеже не изкореним в этой теме, то весь треп будет всегда переносится в ту тему... |
|
|
Litkevich Yuriy |
5.2.2009, 19:45
Сообщение
#22
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
обнаружил интересное поведение в QTableView
если выделена ячейка в столбце N, то нажимая кнопки букв или цифр на клавиатуре будет осуществлятся навигация по этому столбцу. например есть таблица:
если выделим ячейку с RefDes=C17, а затем будем нажимать кнопку "F", то выделение и фокус перейдет сначала на FU1, а при последующих нажатиях на FU2, FU3. Затем все повторится с начала. |
|
|
SABROG |
9.2.2009, 20:43
Сообщение
#23
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Не знаю куда это отнести к секретам или интересным возможностям. Вроде и не секрет, да и не возможность. А просто любопытная информация мимо которой многие могли бы пройти. Дерево классов Qt 4.3, распечатать и повесить на стенку. В ассистенте его нет, т.к. оно в PDF формате: http://doc.trolltech.com/extras/qt43-class-chart.pdf
|
|
|
Константин |
11.2.2009, 6:15
Сообщение
#24
|
Студент Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: 1 |
ну и секреты у вас
но всё-равно внесу свои пять копеек: если в кастомном виджете в paintEvent используется `setOpacity(a)` для активного Q(|Style)Painter, где `a<1.0` (например, эффект плавного показа/скрытия виджета), и у виджета имеется родитель, то соседи родителя получат такой же фактор прозрачности через /* кривую */ групповую прозрачность. чтобы этого избежать, необходимо использовать сохранение/восстановление состояния QPainter:
вышесказанное верно для Qt < 4.5, в 4.5 групповая прозрачность забыта, как страшный сон... Сообщение отредактировал Константин - 13.2.2009, 5:43 |
|
|
Admin |
11.2.2009, 16:35
Сообщение
#25
|
Администратор Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: 2 |
Перенес обсуждение не относящееся к данной теме в тему: QAction::activated()[signal]
|
|
|
SABROG |
27.2.2009, 10:08
Сообщение
#26
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Еще один способ вывода отладочных сообщений для GUI приложений. Позволяет не прописывать CONFIG += console в .pro файле.
На qDebug, qWarning, QFatal будет всплывать диалог, вместо того, чтобы писаться в консоль.
|
|
|
CrackedMind |
13.3.2009, 12:59
Сообщение
#27
|
Студент Группа: Участник Сообщений: 44 Регистрация: 13.3.2009 Пользователь №: 611 Спасибо сказали: 7 раз(а) Репутация: 0 |
Вообще этого будет более чем достаточно
Цитата QErrorMessage::qtHandler(); // т.к. статический метод
|
|
|
BRE |
13.3.2009, 13:09
Сообщение
#28
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Еще один способ вывода отладочных сообщений для GUI приложений. Позволяет не прописывать CONFIG += console в .pro файле. На qDebug, qWarning, QFatal будет всплывать диалог, вместо того, чтобы писаться в консоль. А еще можно перехватить весь вывод и писать его в лог-файлы, например. QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler ) В документации есть пример использования. В проекте freeremote, я все строки добавляю в QStringListModel, что дает возможность в необходимых местах сделать просмотр лога, просто создав QListView и указав эту модель в качестве активной. |
|
|
SABROG |
13.3.2009, 14:49
Сообщение
#29
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Добавлю метод альтернативный методу QTimer::singleShot(), чтобы выполнить слот при возврате в главный event loop, т.е. после выхода из метода.
Этот код помещает в очередь событий информацию о том, что надо вызвать наш слот. Эквивалентно emit signalName с connection type Qt::QueuedConnection. В принципе таким методом можно и сигналы симулировать. |
|
|
SABROG |
13.3.2009, 20:18
Сообщение
#30
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Пожалуй вопрос с enum'ом сюда помещу. В общем задача - получить название перечисляемого типа по значению. Решение вопроса в стиле Qt
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 13:50 |