我需要一个 QMainWindow 布局来根据内核数量进行更改。因此我手动设置它(不使用设计模式)。
我的问题是:创建此布局后,如何引用它包含的小部件?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//...
buildLayout();
//...
// Now I'd like to use something like this:
// ui->threadingTable->...
// However, it's not the member of ui
}
void MainWindow::buildLayout()
{
QWidget *window = new QWidget(this);
QTableView *threadingTable = new QTableView(window);
//...
QGridLayout *layout = new QGridLayout(window);
layout->addWidget(threadingTable, 0, 0);
//...
window->setLayout(layout);
this->setCentralWidget(window);
}
我可以从this->centralWidget()
. 或者我可以在 MainWindow 类的布局成员中制作所有小部件并直接访问它们。
但是,我觉得这些都不是正确的方法。
有没有办法将小部件传递给 ui?这样我就可以通过调用来访问它们
ui->threadingTable