![]() |
|
![]() ![]() ![]() |
|
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
А как программно можно поменять размеры (resize) непосредственно самой формы (ее ObjectName допустим равен MyForm)?
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
почему такой парадокс - у виджетов для изменения размеров используется метод geometry (и такое же свойство), а для изменения размеров непосредственно самой формы вроде тоже есть свойство geometry, но используестя метод resize?
и у кого именно надо менять resize - у формы (Mainwindow) или у CentralWidget (он есть по умолчанию в новом gui-проекте)? свойства geometry у них одинаковые...в чем разница? такой вариант на онклик кнопки:
вообще дает не пойми что...тоже самое и с исп-ем метода setGeometry... надо все-таки не для CentralWidget, а для MainWindow применять resize - дайте примерчик пож-та.... |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Никогда так не делай. centralWidget это дочерний виджет QMainWindow. Грубо говоря этот виджет предназначен для пользовательского интерфейса в то время как другие области QMainWindow отводятся под toolbar, dockwidgets и statusbar. Например при редактировании формы в Designer'e область в самом центре (где твоя форма) это и есть centralWidget. Размер этого виджета зависит как от размеров всего главного окна так и от размеров и расположения доквиджетов (редактор свойств объекта, редактор сигналов и слотов, список компонентов и тому подобное). Поэтому работая с классом QMainWindow при добавлении своих виджетов надо использовать centralWidget в качестве родителя. Отличие QMainWindow от QWidget в том, что первый является комплексным виджетом с кучей предопределенных детей и функционалом, который обычно пытаются реализовать в стандартных программах, а QWidget всего-лишь примитив, он даже не имеет собственного метода отрисовки в paintEvent() и без дополнительного кода к нему даже Style Sheets не применимы. Хотелось бы уточнить objectName имеет точно такое же название как и указатель на форму или задача сводится к тому, что об объекте мы ничего не знаем кроме его имени и прямого доступа к нему у нас нет? |
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
а если мне нужно подстроить размеры формы под какой-то определенный размер? т.е. как программно можно узнать текущие размеры родительского виджета (например фрейма)?
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
||||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
я читала литературу, да разве все найдешь....:
почему-то работает неверно - таким образом хочу настроить размер формы класса MyForm2 под размер фрейма frame на главной форме...что тут не так? если параметры у resize задавать численно то вроде все верно меняется, а так - нет...width - это же ширина (фрейма), а height - его высота??? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Ты пытаешься сделать то, что давно делает QGridLayout.
|
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
В чем отличие свойств width(), height() от Ширина/Высота в свойстве geometry? Они явно не совпадают….
выдает верный ответ (то, что мне и надо)…но на форме, где расположен этот frame, есть еще горизонтальная компоновка и тогда frame->geometry().width() становится равным 100 (???)…Так как же можно определить размеры (ширина/высота) виджета (frame), если используется компоновка на форме, содержащей этот frame? Это сообщение отредактировал(а) kuvshinka - 27.2.2010, 23:59 |
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
так все-таки - как можно узнать узнать размеры виджета при условии использования компоновки на форме с этим виджетом?
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Зависит от того где и когда ты пытаешься это сделать.
|
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
SABROG: например задача такая - см. архивчик...желательно узнать размеры виджета методом resize а не использованием дополнительной компоновки так как на этом виджете (frame2) еще будет выводистя другая информация...
Присоединённый файл ( Кол-во скачиваний: 1 ) ![]() |
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
SABROG: я программку кинула в форум (см. выше архив)...посмотрите пож-та....
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |