Russian Qt Forum
Октябрь 01, 2024, 10:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: dockWidget и его размер  (Прочитано 5776 раз)
Mashko
Гость
« : Апрель 29, 2009, 16:33 »

Подскажите, пожалуйста!

На dockWidget динамически добавляются объекты класса QDialog. Необходимо, чтобы при каждом новом объекте ширина dockWidget менялась соответсвенно с размером объекта.

Пробовала через лейауты, нифига не происходит  В замешательстве
Записан
ритт
Гость
« Ответ #1 : Апрель 29, 2009, 16:42 »

QLayout, setMinimumSize(...) и parentWidget()->updateGeometry();

а зачем такой изврат (диалоги на доквиджете)?
Записан
Mashko
Гость
« Ответ #2 : Апрель 29, 2009, 16:48 »

Ну вот есть у меня такая часть в дипломе  Смеющийся Руководство так пожелало
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Апрель 29, 2009, 17:51 »

2 Константин, ты чтоли ГНУтыми программами никогда не пользовался (GIMP, Inkscape, ...). Там изначально одельной россыпью окошек всё было, теперь научились внутрь запихивать в виде dockWidget'ов, в том числе и диалоги Улыбающийся
Записан

Юра.
ритт
Гость
« Ответ #4 : Апрель 29, 2009, 18:11 »

gimp, inkscape - это всё gtk+
такими программами я пользуюсь только при необходимости, т.к. гтк не люблю - ни как выглядит, ни, тем более, как написан...там явно мозилла руку приложила )
а де там диалоги в доклетах, можешь конкретно указать? - посмотрю...
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Апрель 29, 2009, 18:31 »

Свойства документа в Inkscape например, раньше был отдельным диалогом, в 0.46 стал доком, если способ поведения поменять на россыпь окошек, то он вроде как окошко, но видно что с ещё одной панелью
(тык, тык)
Записан

Юра.
Mashko
Гость
« Ответ #6 : Май 03, 2009, 15:47 »

Ребят, всё равно не получается  В замешательстве
И почему-то второй виджет (Main_Buttons) даже не видно на доке. Ткните меня носом, в чём ошибка???
Код:
QWidget *main_widget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout;

layout->addWidget(widget);
layout->addWidget(Main_Buttons); // Main_Buttons и widget объявляются ранее в коде

main_widget->setLayout(layout);
dockWidget->setWidget(main_widget);

dockWidget->setMinimumSize(main_widget->minimumSize());
dockWidget->updateGeometry();


Записан
Karl-Philipp
Гость
« Ответ #7 : Май 04, 2009, 11:01 »

Mashko, как создаётся переменная Main_Buttons и что она содержит?
Записан
Mashko
Гость
« Ответ #8 : Май 04, 2009, 17:09 »

создается
Код:
MainButtonsClass *Main_Buttons = new MainButtonsClass;

Класс MainButtonsClass содержит виджет, созданный с помощью дизайнера, на нём просто 4 кнопки расположенных горизонтально друг за другом.
В его конструкторе setupUi() я, конечно, прописала (это уж я на всякий случай сообщаю  Рот на замке)
« Последнее редактирование: Май 04, 2009, 17:12 от Mashko » Записан
Karl-Philipp
Гость
« Ответ #9 : Май 04, 2009, 18:21 »

сложно что-то сказать не видя весь код, выкладывай минимальный компилируемый проект.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #10 : Май 04, 2009, 19:02 »

И почему-то второй виджет (Main_Buttons) даже не видно на доке.

Для MainButtonsClass установлен главный слой?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.