Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
gpepsi |
13.9.2011, 16:25
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0
|
у в tray висит иконка. при двойном щелчке открывается форма.
Нужно отрисовать ее в правом нижнем углу экрана и запретить перетаскивание. Можно ли это указать форме флагами или нужно отлавливать события перемещения и и отрисовывать самому в конкретном месте ? |
|
|
|
|
ilyabvt |
13.9.2011, 17:09
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3
|
В правый нижний угол перемещать вручную через setGeometry. Запретить перемещение можно убрав рамку (указать соответствующий флаг), если рамка обязательна то переопределять moveEvent.
|
|
|
|
|
gpepsi |
14.9.2011, 7:30
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ilyabvt @ 13.9.2011, 18:09) Link В правый нижний угол перемещать вручную через setGeometry это получилось Цитата(ilyabvt @ 13.9.2011, 18:09) Link апретить перемещение можно убрав рамку (указать соответствующий флаг), не хотел Цитата(ilyabvt @ 13.9.2011, 18:09) Link если рамка обязательна то переопределять moveEvent. выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию Сообщение отредактировал gpepsi - 14.9.2011, 7:31 |
|
|
|
|
ssoft |
14.9.2011, 13:03
Сообщение
#4
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3
|
Цитата(gpepsi @ 14.9.2011, 8:30) Link выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию Все правильно Цитата Warning: Calling setGeometry() inside resizeEvent() or moveEvent() can lead to infinite recursion. Можно попробовать установить виджету атрибут |
|
|
|
|
gpepsi |
14.9.2011, 13:18
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ssoft @ 14.9.2011, 14:03) Link Можно попробовать установить виджету атрибут не помогло |
|
|
|
|
ilyabvt |
14.9.2011, 14:38
Сообщение
#6
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3
|
Цитата выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию Конечно уходите, т.к. при возврате в старую позицию у вас вызывается событие moveEvent которое имеет уже другую старую позицию. Попробуйте через setGeometry передавать конкретные числа (ну где у вас там угол экрана). |
|
|
|
|
Litkevich Yuriy |
14.9.2011, 19:29
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
gpepsi, прочитай своё первое сообщение и объясни мне, почему тема называется "QMainWindow"
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 1:33 |