Название: Добавить панель инструментов в QDialog Отправлено: folibis от Июнь 30, 2010, 02:29 Собственно, проблема - мне нужно добавить QToolBar в QDialog. В редакторе форм это сделать не получается.
Так же не могу добавить QStatusBar. Если делать еще одно окно QMainWindow то его нельзя сделать модальным. Можно конечно на диалоговую форму добавить фрейм и на него кнопки но все это выглядит совсем не так как тулбар. Название: Re: Добавить панель инструментов в QDialog Отправлено: asvil от Июнь 30, 2010, 07:20 QDialog::setContentsMargins(0, QToolBar::sizeHint().height, 0, 0);
Переопределить QDialog::resizeEvent(event) QToolBar::setGeometry(0, 0, QDialog::width(), sizeHint().height); Название: Re: Добавить панель инструментов в QDialog Отправлено: folibis от Июнь 30, 2010, 08:07 А все, решил.
Добавил на форму QVBoxLayout, сверху QToolBar, снизу QFrame. в тулбар уже добавил экшенов. Странно что разработчики не дали возможность сделать это штатными средствами редактора форм, как это сделано, например, для QMainWindow. Название: Re: Добавить панель инструментов в QDialog Отправлено: asvil от Июнь 30, 2010, 08:15 Также можно было использовать и QLayout::setMenuBar(), если toolbar должен находиться только сверху.
Название: Re: Добавить панель инструментов в QDialog Отправлено: navrocky от Июнь 30, 2010, 09:16 Положи QMainWindow на свой диалог и сними ему флажок Qt::Window.
Код: wnd_ = new QMainWindow(this); Таким способом получишь функционал QMainWindow в своем диалоге. Более того, можно многократно вкладывать QMainWindow один в другой ) Название: Re: Добавить панель инструментов в QDialog Отправлено: vdann от Июль 07, 2010, 16:18 Положи QMainWindow на свой диалог и сними ему флажок Qt::Window. Код: wnd_ = new QMainWindow(this); Таким способом получишь функционал QMainWindow в своем диалоге. Более того, можно многократно вкладывать QMainWindow один в другой ) ошибочка: Код: wnd_->setWindowFlags(wnd_->windowFlags() & ~Qt::Window); |