创建一个实现标签的类,可以用作"中央小部件"在QMainWindow

时间:2014-10-12 14:30:35

标签: c++ qt user-interface

我希望mainWindow课程的中央小部件为QTabWidget。我的计划是创建我想要作为单独的类放在选项卡中的小部件,并将它们添加到QTabWidget类,并将QtabWidget类本身作为中心Widget添加到mainWindow类。

要做到这一点,我该如何声明我的tabWidget类?

应该是:

class centralTab : public QMainWindow
{

}

class centralTab : public QDialog
{

}

另外,在ctor中,什么应该用作父母?

1 个答案:

答案 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?因为只有QMainWindowsetCentralWidget()方法;

您可以添加不同的小部件并为每个标签设置图标,QLabel只是示例。