![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
franza |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.1.2011 Пользователь №: 2323 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я начинающий в Qt. Разбираюсь с многопоточностью и не могу написать код, который одновременно менял значение QLCDNumber и постоянно нажимает кнопочку. Прошу помочь разобраться.
lcdthread.h
pbthread.h
lcdthread.cpp
pbthread.cpp
main.cpp
Не могу сделать так, чтобы родительский виджет был доступен для перетаскиваний и прочего. Или для него надо писать свой поток? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
franza |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.1.2011 Пользователь №: 2323 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
виджеты создаются в главном потоке (по крайней мере в main.cpp), в run для каждого потока я написал только отправку сигналов, к которым в main.cpp коннектится соответствующий слот. здесь, думаю, я не ошибся. но при выполнении родительский виджет повисает и не дает себя ни перетаскивать ни закрывать, хотя по идее находится в отдельном потоке.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ufna |
![]()
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Чет мне подсказывает, что закидывать в while() сообщениями без пауз - это не лучший метод
![]() |
|
|
franza |
![]()
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.1.2011 Пользователь №: 2323 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ufna, то есть, в принципе, написано все правильно, только надо usleep(100500) написать?
|
|
|
ufna |
![]()
Сообщение
#7
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Вообще по-хорошему не так делается
![]() А здесь я не уверен насчет сигналов до exec() в потоке. |
|
|
franza |
![]()
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.1.2011 Пользователь №: 2323 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ufna, можно поподробней?
Litkevich Yuriy, я имею ввиду, что этот отдельный поток, где создаются виджеты и есть главный. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
franza, ту по-русски вообще понимаешь?
|
|
|
franza |
![]()
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 3.1.2011 Пользователь №: 2323 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Litkevich Yuriy, понимаю. Можешь попробовать рассказать о моей ошибке не в одном предложении, а подробнее, так как видно, что я мало понимаю. Мне непонятно следующее: 3 виджета (лсд, кнопка, и базовый, куда они помещаются) создаются в main.cpp. При этом они создаются в главном потоке или нет? Если нет, то как создать их в главном потоке? Слоты, к которым происходит коннект вызываются в главном потоке или нет?
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 12:54 |