我目前在Mac OSX上使用Qt 5.5。我正在尝试构建一个带主控布局的GUI系统,该控制台显示一些I/O,然后在主布局中显示一系列按钮和下拉菜单的网格布局。Qt在主布局中添加布局
所以主要布局将有:
- mainlayout一个控制台和一个嵌套的网格布局
- 的网格布局将有多种布局方式我想不同的小部件。
这是目前我的代码:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//******* Set up
ui->setupUi(this);
// 01: Creation of Console
console = new Console;
console->setEnabled(false);
//Drop Down Menu
QGridLayout* gridbox = new QGridLayout();
QStringList commands;
commands << "Q" << "W" << "E" << "R";
QComboBox* combo = new QComboBox();
combo->addItems(commands);
/************** Adding Widgets *********************/
//02: Formatting Widgets
//creation and attribution of slider
slider = new QSlider();
slider->resize(255, 20);
slider->setOrientation(Qt::Horizontal);
slider->setRange(0, 255); //0-255 is range we can read
//creation and attribution of the lcd
lcd = new QLCDNumber();
lcd->setSegmentStyle(QLCDNumber::Flat);
lcd->resize(255, 50);
//03: Adding widgets to layout
QVBoxLayout* mainlayout = new QVBoxLayout(); //main layout for ui
//add widgets to the grid
gridbox->addWidget(combo);
gridbox->addWidget(slider);
gridbox->addWidget(lcd);
//add the grid to the mainlayout
mainlayout->addLayout(gridbox);
ui->centralWidget->setLayout(mainlayout); //create main layout
ui->centralWidget->layout()->addWidget(console); //add the console to it
}
我遇到的问题是,在添加网格布局的项目,然后控制台。 gridlayout项目根本没有出现,我想知道我做错了什么。
'mainlayout-> show()'你忘记了吗?或'centralWidget-> show()' – Mikhail
但他没有说主窗口没有显示。所有嵌套的东西应该显示。 – AlexanderVX
mainWindow-> show()在我的main.cpp文件中,它是网格布局,我遇到了问题 – ajl123