我希望mainWindow
课程的中央小部件为QTabWidget
。我的计划是创建我想要作为单独的类放在选项卡中的小部件,并将它们添加到QTabWidget
类,并将QtabWidget
类本身作为中心Widget添加到mainWindow
类。
要做到这一点,我该如何声明我的tabWidget类?
应该是:
class centralTab : public QMainWindow
{
}
或
class centralTab : public QDialog
{
}
另外,在ctor中,什么应该用作父母?
答案 0 :(得分:4)
只需创建QMainWindow
子类:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
//...
};
在构造函数中使用addTab()
方法::
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QTabWidget *tabWidget = new QTabWidget(this);
//some settings
tabWidget->addTab(new QLabel("example1"), "General1");
tabWidget->addTab(new QLabel("example2"), "General2");
setCentralWidget(tabWidget);
}
为什么QMainWindow
?因为只有QMainWindow
有setCentralWidget()
方法;
您可以添加不同的小部件并为每个标签设置图标,QLabel
只是示例。