Russian Qt Forum

Qt => Общие вопросы => Тема начата: hexVoltt от Март 03, 2010, 17:17



Название: Изучаю Qt, с осени 2009, вопросы
Отправлено: hexVoltt от Март 03, 2010, 17:17
Создаю эту тему, как что-то вроде тетради ученика. Или skill-дневника.
Здесь я буду задавать вопросы, которые надеюсь разрешать с вашей помощью, постепенно повышая свой уровень владения Qt :)

Работаю с компилятором MinGW, использую QtCreator 1.3, не использую QtDesigner.
Пишу программу для аспирантуры, сложненькую.


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: hexVoltt от Март 03, 2010, 17:20
Первый вопрос по SizePolicy, будет ли правильно (типа true) для каждого виджета задавать свой SizePolicy или можно вполне положиться на представленные по умолчанию?


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: Kolobok от Март 03, 2010, 17:23
Создаю эту тему, как что-то вроде тетради ученика. Или skill-дневника.
Здесь я буду задавать вопросы, которые надеюсь разрешать с вашей помощью, постепенно повышая свой уровень владения Qt :)

Тебе, наверное, надо сюда www.livejournal.ru/ (http://www.livejournal.ru/)


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: Пантер от Март 03, 2010, 17:38
SizePolicy без надобности не трогай.
На каждый вопрос создается отдельная тема, в одной все нельзя намешивать.


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: Павел_F. от Март 03, 2010, 17:39
Зависит от ваших нужд. Например недавно нужно мне было кнопку( QPushButton), которая растягивается в ширину и в высоту. По умолчанию кнопка растягивается только в ширину( а это так в принципе и надо). Вот тут я и задал ей свою политику.
И всегда, кода нужно "необычное" поведение обьекта, нужно делать самому, но в большинстве случаев устраивает стандартная.


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: hexVoltt от Март 03, 2010, 20:21
Спасибо :)
Меня просто настораживает, что автогенератор кода формы (сначала использовал Designer) упорно создаёт политики для каждого виджета, зачем-то в функциях вроде setGeometry() пишет QRect(...), хотя можно напрямую задавать 4 параметра, ведь для чего-то это нужно.


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: Пантер от Март 03, 2010, 21:16
Политика задается Prefered, что есть дефолт.


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: Kolobok от Март 03, 2010, 21:24
зачем-то в функциях вроде setGeometry() пишет QRect(...), хотя можно напрямую задавать 4 параметра, ведь для чего-то это нужно.

наверное, поэтому  :)
Код:
inline void QWidget::setGeometry(int ax, int ay, int aw, int ah)
{ setGeometry(QRect(ax, ay, aw, ah)); }


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: hexVoltt от Март 04, 2010, 10:16
Теперь у меня вопрос, связанный с динамической памятью...
Имеется основное окно. На него через layout накладывается 2 виджета. Виджеты эти состоят ещё из нескольких наложений.

Так вот.
Если у меня есть объект типа QWidget *widget, который я создаю без указки родителя, но подцепляю layout'ом, правильно я мыслю, что этот объект будет удалён автоматически при удалении layout?

И ещё. Свои виджеты засунул в классы, в каждом классе организовал под-класс ui, примерно так:
Код:
class UiMainWnd
class MainWnd
Внутри UiMainWnd содержатся указатели на виджеты.
В MainWnd объявляю: UiMainWnd *ui, соответственно в конструкторе пишу ui = new UiMainWnd и в деструкторе delete ui. Всё вроде ок. Но внутри ui есть виджеты, внутри которых присутствуют аналогичные ui, и эти аналогичные ui в конструкторах также new и в деструкторах delete. Всё ли я правильно делаю? :) Т.е. не получится так, что delete ui уничтожит класс из указателей на виджеты, а сами указатели останутся нетронуты?


Название: Re: Изучаю Qt, с осени 2009, вопросы
Отправлено: ритт от Март 06, 2010, 02:18
ррр...

Kolobok тебе сразу подсказал...
Пантер развернул подсказку...
я лишь добавлю избитую фразу: тебе нужен ответ на вопрос, а не нам вопросы позапутаннее для ответов. изволь выражаться чётко и ясно и соблюдать "устав монастыря".