Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Сергей85 от Апрель 20, 2017, 19:40



Название: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: Сергей85 от Апрель 20, 2017, 19:40
1. Как создать таблицу с фиксированным количеством ячеек? Чем отличается Table: Item Widjet от Item View?
2. Как связать границы verticalLayout с границами фрейма, в который он вставлен? Чтобы при изменении границ фрейма layout так же изменял свои размеры.
3. В VB6 есть конструкция With -> End With. Как такую же штуку сделать в QT? Надоело ui-> писать.
4. Как скрыть кнопку Maximize формы?
5. Как скрывать и делать видимыми элементы формы? Есть hide как метод, но нет Unhide и нет самого свойства "visible".


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: PimenS от Апрель 20, 2017, 23:54
2. Layout вроде как должен всегда изменять размеры по границам родителя. Если явно ему не задать фиксированные параметры.
4. Есть хороший пример Window Flags Example - там все флаги можно подобрать.
5. Для hide() не Unhide нужен, а show(). Есть и другие методы, setVisible() например.
Соответственно проверить можно isHidden(), isVisible().

3. Не используй вообще ui. Пиши все сам.


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: carrygun от Апрель 21, 2017, 07:12
3. Использовать множественное наследование


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: Igors от Апрель 21, 2017, 08:50
Сергей, использование форума в качестве "живого Assistant'а" неэффективно, и ничем хорошим не кончается


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: Сергей85 от Апрель 22, 2017, 15:17
2. Layout вроде как должен всегда изменять размеры по границам родителя. Если явно ему не задать фиксированные параметры.
4. Есть хороший пример Window Flags Example - там все флаги можно подобрать.
5. Для hide() не Unhide нужен, а show(). Есть и другие методы, setVisible() например.
Соответственно проверить можно isHidden(), isVisible().

3. Не используй вообще ui. Пиши все сам.

По 2. Создал фрейм, переместил в него лайоут (оба были просто на форме). Лайоут просто вставляется внутрь фрейма - и всё. Размеры фрейма меняешь - лайоут вообще никак не реагирует.

По 3. Что значит "не используй"; как отказаться от UI, если другого доступа к элементам формы нет? Самому динамические объекты создавать что ли? А есть ли смысл? Ведь тогда им тонны свойств нужно будет прописывать - много исходного кода + неудобно.


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: PimenS от Апрель 22, 2017, 15:22
По 2. Создал фрейм, переместил в него лайоут (оба были просто на форме). Лайоут просто вставляется внутрь фрейма - и всё. Размеры фрейма меняешь - лайоут вообще никак не реагирует.

По 3. Что значит "не используй"; как отказаться от UI, если другого доступа к элементам формы нет? Самому динамические объекты создавать что ли? А есть ли смысл? Ведь тогда им тонны свойств нужно будет прописывать - много исходного кода + неудобно.

2. Я так понимаю это реакция в Дизайнере? Тогда ничего не скажу. Не пользуюсь.

3. Кому что больше нравится. Я привык руками все формы писать, кто-то привык рисовать. Мне обычно хватает 2-3-х свойств, для нормальной работы виджета.


Название: Re: QT Creator 3.5.1: пятая порция вопросов.
Отправлено: demal от Апрель 23, 2017, 21:36
2. Layout вроде как должен всегда изменять размеры по границам родителя. Если явно ему не задать фиксированные параметры.
4. Есть хороший пример Window Flags Example - там все флаги можно подобрать.
5. Для hide() не Unhide нужен, а show(). Есть и другие методы, setVisible() например.
Соответственно проверить можно isHidden(), isVisible().

3. Не используй вообще ui. Пиши все сам.

По 2. Создал фрейм, переместил в него лайоут (оба были просто на форме). Лайоут просто вставляется внутрь фрейма - и всё. Размеры фрейма меняешь - лайоут вообще никак не реагирует.


аты правой кнопкой по фрейму  щелкни и выбери "Компоновка", глядишь и измениться что-нибудь.  ;)