![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
borune |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Господа, сабж. Как растянуть мышью окно без рамки? Т.е. как дать пользователю такую возможность.
Сообщение отредактировал borune - 5.3.2014, 11:03 |
|
|
Trisch |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
А куда рамка делась?
Как вариант, при изменении координат мыши надо менять размеры окна. |
|
|
borune |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Trisch, рамку я убрал =) Просто программа предназначена для работы на экранах с различными разрешениями. На маленьких экранах рамка занимает довольно большую область, поэтому я решил ее убрать.
Что ж это за вариант, у меня же не картинка какая-то, а окно с элементами управления..пользователь должен иметь возможность тыкать мышкой на кнопочки. И да, экран может быть сенсорным. |
|
|
Trisch |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Ну вот я же выше общую идею написал.
А если чуть конкретнее. То когда надо изменить размеры, то надо узнать dx перемещения мыши с помощью событий мыши (с сенсорными экранами работать не приходилось, но там скорей всего все будет так же как на десктопе), и потом с помощью setGeometry() изменить размеры виджета на dx. |
|
|
borune |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ну вот я же выше общую идею написал. А если чуть конкретнее. То когда надо изменить размеры, то надо узнать dx перемещения мыши с помощью событий мыши (с сенсорными экранами работать не приходилось, но там скорей всего все будет так же как на десктопе), и потом с помощью setGeometry() изменить размеры виджета на dx. ну то есть предлагаешь отлавливать, когда мышь выходит за рамку, менять вид указателя на стрелочку и растягивать? |
|
|
Trisch |
![]()
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
ну, в принципе, да.
Ну тут не обязательно выходить за рамку, можно менять размер когда пользователь наводит мышь на рамку нажимает левую кнопку мыши и пытается изменить размер Сообщение отредактировал Trisch - 6.3.2014, 19:31 |
|
|
borune |
![]()
Сообщение
#7
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Trisch |
![]()
Сообщение
#8
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Можно оставить рамку и будет все работать. В противном случае перетаскивание и масштабирование виджета ложится на плечи программиста.
Как вариант, по краям виджета можно поставить QSizeGrip и переопределить в нем пару виртуальных функций. |
|
|
borune |
![]()
Сообщение
#9
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Можно оставить рамку и будет все работать. В противном случае перетаскивание и масштабирование виджета ложится на плечи программиста. Как вариант, по краям виджета можно поставить QSizeGrip и переопределить в нем пару виртуальных функций. okay, тогда может быть можно как-нибудь скрыть кнопки закрытия/разворачивания/сворачивания окна, не убирая рамку? |
|
|
Trisch |
![]()
Сообщение
#10
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Ну тут можно поиграться с флагами, может что-то будет подходящее. К примеру Qt::Dialog, Qt::MSWindowsFixedSizeDialogHint или еще что-то в этом роде.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.5.2025, 3:02 |