C++ 在布局中添加前进和后退按钮
我有一个水平布局,里面添加了一个分组框。使用C++ 在布局中添加前进和后退按钮,c++,qt,qpushbutton,qtextbrowser,C++,Qt,Qpushbutton,Qtextbrowser,我有一个水平布局,里面添加了一个分组框。使用QSplitter拆分组框,并包含QListWidget和QTextBrowser。我想在窗口右下角添加两个按钮,以便在QTextBrowser中导航。我正在布局中添加两个按钮,但无法将它们添加到右下角。这是我的密码: _groupBox = new QGroupBox(); _groupBox->setTitle("Config Help System"); _verticalLayout = new QVBoxLayout(
QSplitter
拆分组框,并包含QListWidget
和QTextBrowser
。我想在窗口右下角添加两个按钮,以便在QTextBrowser
中导航。我正在布局中添加两个按钮,但无法将它们添加到右下角。这是我的密码:
_groupBox = new QGroupBox();
_groupBox->setTitle("Config Help System");
_verticalLayout = new QVBoxLayout(_groupBox);
this->setLayout(_verticalLayout);
_splitter = new QSplitter(_groupBox);
_splitter->setOrientation(Qt::Horizontal);
_list = new QListWidget(_splitter);
QListWidgetItem *item1 = new QListWidgetItem;
item1->setText("About Config Tool");
_list->insertItem(0, item1);
QListWidgetItem *item2 = new QListWidgetItem;
item2->setText("Configuration Help");
_list->insertItem(1, item2);
_list->setSelectionMode(QAbstractItemView::SingleSelection);
_splitter->addWidget(_list);
_helpBrowser = new QTextBrowser(_splitter);
_homeButton = new QPushButton(tr("&Home"), this);
_backButton = new QPushButton(tr("&Back"), this);
_closeButton = new QPushButton(tr("&Close"), this);
QHBoxLayout *buttonLayout = new QHBoxLayout(this);
buttonLayout->addWidget(_homeButton);
buttonLayout->addWidget(_backButton);
buttonLayout->addStretch(1);
buttonLayout->addWidget(_closeButton)
_splitter->addWidget(_helpBrowser);
_splitter->setStretchFactor(1,1);
_verticalLayout->addWidget(_splitter);
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
this->resize(1000,600);
我尝试了拉伸因子来调整按钮,使其显示在拆分器的右下角。有人能帮我吗?试试这个(代码略有不同,因为我试图在我的计算机上运行它):
结果:
编辑:
#包括
#包括
#包括
#include//do different include在main中使用我的代码
//...
QHBoxLayout*按钮布局=新的QHBoxLayout//只需删除父级
将HBoxLayout添加到VBoxLayout对我来说不太合适。我得到一个错误,显示QLayout::AddChildLayout:layout已经有一个parent@user3035979不幸的是,没有你的代码,你不能说问题出在哪里,所以我认为你用我的例子是错误的。尝试在主函数中复制并粘贴我的示例,并进行连接和删除父函数。在那之后,我说我很好,否则你仍然会得到这个错误。我使用了网格布局,而不是vboxlayout和hboxlayout。代码对我来说很好用。无论如何,谢谢你的帮助:)
QWidget *www = new QWidget;
QGroupBox* _groupBox = new QGroupBox();
_groupBox->setTitle("Config Help System");
QVBoxLayout *_verticalLayout = new QVBoxLayout(_groupBox);
www->setLayout(_verticalLayout);
QSplitter *_splitter = new QSplitter(_groupBox);
_splitter->setOrientation(Qt::Horizontal);
QListWidget *_list = new QListWidget(_splitter);
QListWidgetItem *item1 = new QListWidgetItem;
item1->setText("About Config Tool");
_list->insertItem(0, item1);
QListWidgetItem *item2 = new QListWidgetItem;
item2->setText("Configuration Help");
_list->insertItem(1, item2);
_list->setSelectionMode(QAbstractItemView::SingleSelection);
_splitter->addWidget(_list);
QTextBrowser *_helpBrowser = new QTextBrowser(_splitter);
QPushButton* _homeButton = new QPushButton("home");
QPushButton* _backButton = new QPushButton("back");
QPushButton *_closeButton = new QPushButton("close");
QHBoxLayout *buttonLayout = new QHBoxLayout(this);
buttonLayout->addWidget(_closeButton);//new
buttonLayout->addStretch(1);
buttonLayout->addWidget(_homeButton);//new
buttonLayout->addWidget(_backButton);//new
_splitter->addWidget(_helpBrowser);
_splitter->setStretchFactor(1,1);
_verticalLayout->addWidget(_splitter);
_verticalLayout->addLayout(buttonLayout);//new
www->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
www->resize(1000,600);
www->show();
#include <QGroupBox>
#include <QListWidget>
#include <QTextBrowser>
#include <QListWidgetItem>//do different includes to use my code inside main
//...
QHBoxLayout *buttonLayout = new QHBoxLayout;//just remove the parent