Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Arhn от Август 22, 2016, 02:02



Название: Как в tabWidget установить ToolBar?
Отправлено: Arhn от Август 22, 2016, 02:02
Подскажите, пожалуйста, как в tabWidget, в один из Tab-ов, установить ToolBar?
Спасибо.


Название: Re: Как в tabWidget установить ToolBar?
Отправлено: gil9red от Август 22, 2016, 08:22
Если QToolBar отсутствует в списке виджетов дизайнера формы (как у меня), тогда добавляете в коде.
Вот пример:
Код
C++ (Qt)
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
 
   QToolBar* tb = new QToolBar();
   tb->addAction("Open");
   tb->addAction("Read");
   tb->addAction("Close");
   tb->addAction("Quit");
 
   QVBoxLayout* layoutTab = new QVBoxLayout();
   layoutTab->addWidget(tb);
   layoutTab->addWidget(new QTextEdit("Test"));
 
   ui->tab->setLayout(layoutTab);
}

QToolBar (http://doc.qt.io/qt-4.8/qtoolbar.html#details) -- такой же виджет, поэтому его можно размещать на другие виджеты


Название: Re: Как в tabWidget установить ToolBar?
Отправлено: Arhn от Август 22, 2016, 08:44
Спасибо Вам большое. Вы мне очень помогли.
Скажите, пожалуйста, а можно сделать так чтобы в QToolBar первая вкладка была без кнопки закрытия, а остальные вкладки с кнопкой?


Название: Re: Как в tabWidget установить ToolBar?
Отправлено: gil9red от Август 22, 2016, 11:48
Попробуйте указать через QTabBar виджет для правой стороны вкладки (там где кнопка закрытия) свой виджет или пустой указатель (0/NULL):
Код
C++ (Qt)
ui->tabWidget->tabBar()->setTabButton(0, QTabBar::RightSide, nullptr);