Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在布局中添加前进和后退按钮_C++_Qt_Qpushbutton_Qtextbrowser - Fatal编程技术网

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