crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QMainWindow
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 14.9.2011, 19:29
  gpepsi, прочитай своё первое сообщение и объясни мне, почему тема называется "QMainWindow"
ilyabvt Дата 14.9.2011, 14:38
 
Цитата
выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию

Конечно уходите, т.к. при возврате в старую позицию у вас вызывается событие moveEvent которое имеет уже другую старую позицию.
Попробуйте через setGeometry передавать конкретные числа (ну где у вас там угол экрана).
gpepsi Дата 14.9.2011, 13:18
 
Цитата(ssoft @ 14.9.2011, 14:03) *
Можно попробовать установить виджету атрибут

не помогло
ssoft Дата 14.9.2011, 13:03
 
Цитата(gpepsi @ 14.9.2011, 8:30) *
выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию :)


Все правильно
Цитата
Warning: Calling setGeometry() inside resizeEvent() or moveEvent() can lead to infinite recursion.


Можно попробовать установить виджету атрибут
setAttribute( Qt::WA_Moved, false );

gpepsi Дата 14.9.2011, 7:30
 
Цитата(ilyabvt @ 13.9.2011, 18:09) *
В правый нижний угол перемещать вручную через setGeometry

это получилось

Цитата(ilyabvt @ 13.9.2011, 18:09) *
апретить перемещение можно убрав рамку (указать соответствующий флаг),

не хотел

Цитата(ilyabvt @ 13.9.2011, 18:09) *
если рамка обязательна то переопределять moveEvent.

выставляю в moveEvent setGeometry(event->oldPos) и ухожу в рекурсию :)
ilyabvt Дата 13.9.2011, 17:09
  В правый нижний угол перемещать вручную через setGeometry. Запретить перемещение можно убрав рамку (указать соответствующий флаг), если рамка обязательна то переопределять moveEvent.
gpepsi Дата 13.9.2011, 16:25
  у в tray висит иконка. при двойном щелчке открывается форма.
Нужно отрисовать ее в правом нижнем углу экрана и запретить перетаскивание.

Можно ли это указать форме флагами или нужно отлавливать события перемещения и и отрисовывать самому в конкретном месте ?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 0:36