crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
borune
  опции профиля:
сообщение 5.3.2014, 10:24
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Господа, сабж. Как растянуть мышью окно без рамки? Т.е. как дать пользователю такую возможность.

Сообщение отредактировал borune - 5.3.2014, 11:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 5.3.2014, 16:31
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


А куда рамка делась?
Как вариант, при изменении координат мыши надо менять размеры окна.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 5.3.2014, 19:55
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Trisch, рамку я убрал =) Просто программа предназначена для работы на экранах с различными разрешениями. На маленьких экранах рамка занимает довольно большую область, поэтому я решил ее убрать.

Что ж это за вариант, у меня же не картинка какая-то, а окно с элементами управления..пользователь должен иметь возможность тыкать мышкой на кнопочки. И да, экран может быть сенсорным.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 6.3.2014, 0:26
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Ну вот я же выше общую идею написал.
А если чуть конкретнее. То когда надо изменить размеры, то надо узнать dx перемещения мыши с помощью событий мыши (с сенсорными экранами работать не приходилось, но там скорей всего все будет так же как на десктопе), и потом с помощью setGeometry() изменить размеры виджета на dx.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 6.3.2014, 19:17
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Trisch @ 6.3.2014, 1:26) *
Ну вот я же выше общую идею написал.
А если чуть конкретнее. То когда надо изменить размеры, то надо узнать dx перемещения мыши с помощью событий мыши (с сенсорными экранами работать не приходилось, но там скорей всего все будет так же как на десктопе), и потом с помощью setGeometry() изменить размеры виджета на dx.

ну то есть предлагаешь отлавливать, когда мышь выходит за рамку, менять вид указателя на стрелочку и растягивать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 6.3.2014, 19:29
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


ну, в принципе, да.

Ну тут не обязательно выходить за рамку, можно менять размер когда пользователь наводит мышь на рамку нажимает левую кнопку мыши и пытается изменить размер

Сообщение отредактировал Trisch - 6.3.2014, 19:31
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 7.3.2014, 20:12
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Trisch @ 6.3.2014, 20:29) *
ну, в принципе, да.

Ну тут не обязательно выходить за рамку, можно менять размер когда пользователь наводит мышь на рамку нажимает левую кнопку мыши и пытается изменить размер


а попроще никак нельзя?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 8.3.2014, 3:47
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Можно оставить рамку и будет все работать. В противном случае перетаскивание и масштабирование виджета ложится на плечи программиста.
Как вариант, по краям виджета можно поставить QSizeGrip и переопределить в нем пару виртуальных функций.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 8.3.2014, 13:12
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Trisch @ 8.3.2014, 4:47) *
Можно оставить рамку и будет все работать. В противном случае перетаскивание и масштабирование виджета ложится на плечи программиста.
Как вариант, по краям виджета можно поставить QSizeGrip и переопределить в нем пару виртуальных функций.

okay, тогда может быть можно как-нибудь скрыть кнопки закрытия/разворачивания/сворачивания окна, не убирая рамку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 8.3.2014, 18:38
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Ну тут можно поиграться с флагами, может что-то будет подходящее. К примеру Qt::Dialog, Qt::MSWindowsFixedSizeDialogHint или еще что-то в этом роде.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.5.2025, 3:02