Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 7.5.2015, 11:53 |
А есть способ убить слот, который стоит в очереди, но еще не выполнен? А посмотреть содержимое очереди? простого вроде - нет. Покопайся в файлах moc_***.cpp (которые генерит MOC), как я помню, там простой массив указателей, который обходится разом. |
|
PUMA | Дата 30.4.2015, 1:30 |
Добавлю метод альтернативный методу QTimer::singleShot(), чтобы выполнить слот при возврате в главный event loop, т.е. после выхода из метода.
Этот код помещает в очередь событий информацию о том, что надо вызвать наш слот. Эквивалентно emit signalName с connection type Qt::QueuedConnection. В принципе таким методом можно и сигналы симулировать. А есть способ убить слот, который стоит в очереди, но еще не выполнен? А посмотреть содержимое очереди? |
|
Litkevich Yuriy | Дата 18.2.2013, 8:14 |
Обсуждение вынес в отдельную тему: Работа с QSplitter в QtCreator | |
Day | Дата 26.3.2012, 11:48 |
Чтобы решить эту проблему можно вызывать метод QApplication::processEvents(); при каждой итерации цикла. посмотрел этот метод у Макса Шлее. Нашел целых 2:processEvents стр.602 processEvent стр.591 Видимо, последнее - опечатка? (в хедере не нашел) |
|
Litkevich Yuriy | Дата 6.3.2011, 21:30 |
а то что то не особо получается... приведи код того как делаешь, но создав отдельную тему (что бы эту не засорять, она у нас как копилка) |
|
aliks-os | Дата 6.3.2011, 21:24 |
Уважаемый Sabrog, вы показали как записывать в ini - qsettings.setValue("ListMyStruct", qVariantFromValue(msList));. Был бы вам очень признателен, если бы вы в ваш пример добавили как считать записанные данные из ini файл, а то что то не особо получается... |
|
SABROG | Дата 25.1.2011, 22:15 |
В Wiki, на Developer Network нашел интересный вариант размещения окна по центру:
|
|
Алексей1153 | Дата 22.1.2011, 22:05 |
Посмотрите как изменилось поведение виджета. прикольно, но только после этого виджет не даёт редактировать свои свойства (помогает только откат действия) Кстати, что я сюда зашёл то. Как раз тоже про комбобокс: В поисках удобного выпадающего списка без прочих довесков, причём закрывающегося после потери фокуса или после выбора элемента, обнаружил следующее: если создать комбобокс, но не показывать его (то есть он всегда hide() ), то, однако, список прекрасно вываливается методом showPopUp Выбранный индекс берётся из сигнала currentIndexChanged. перед выводом списка на экран, перед скрытием (hidePopup), очисткой или изменением элементов списка сигнал нужно отсоединять, чтобы не было ложных срабатываний выбора. Подключать же сигнал нужно сразу после метода showPopup Появляется список под прямоугольником основного окна комбы, то есть так, как буд-то это окно было бы видимо. Если задать высоту комбы 0 (через setGeometry) , то верх списка будет совпадать с верхом комбы Собственно, искомые мной свойства - закрывается по ESC или при потере фокуса |
|
igor_bogomolov | Дата 20.1.2011, 15:00 |
Если вы пишите плагины для QtDesigner и хотите что бы на форме виджет не просто отрисовывался, а вел себя как настоящий виджет, присвойте ему имя вида , где xxx - это любая строка. Для эксперимента, киньте на форму комбобокс, добавьте в него пару итемов, после чего задайте имя в формате описанном выше. Посмотрите как изменилось поведение виджета. |
|
SABROG | Дата 18.1.2011, 20:11 |
Понадобилось отследить изменения в файле, который находится в шаре на удаленном компьютере. К сожалению, QFileSystemWatcher может отслеживать только файлы и директории находящиеся на жестком диске. Но есть недокументированная возможность использовать опрос (polling), который можно включить таким образом:
На самом деле то, что идет до слова "poller", Qt особо не важно, главное, чтобы позиция слова в тексте совпадала. Вы можете проголосовать, чтобы эту возможность включили в будущие дистрибутивы официально: тут |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 25.4.2024, 20:21 |