如何在QTabWidget的不同选项卡中访问小部件?

时间:2014-05-27 06:10:35

标签: c++ qt user-interface widget qt4

我知道如何创建新标签页并将新小部件添加到QTabWidget的新标签页。

我的代码:

QPlainTextEdit *plainTextEdit = new QPlainTextEdit;
ui->tabWidget->addTab(plainTextEdit , "New");

当我点击按钮时,将创建新标签页及其自己的QPlainTextEdit小部件。

但我不知道如何将属性设置为不同的QPlainTextEdit或保存其内容。

例如,我想在tab4中设置QPlainTextEdit的字体大小,并在tab5中保存QPlainTextEdit的内容。

如何实现这些功能?

2 个答案:

答案 0 :(得分:1)

要在标签索引处获取窗口小部件,您可以使用widget的{​​{1}}功能。

QTabWidget是每个标签页的唯一小部件的情况下:

QPlainTextEdit

如果QPlainTextEdit* plainTextEdit = (QPlainTextEdit*) ui->tabWidget->widget(0); // for the first tab plainTextEdit->setPlainText("Hello!"); 不是唯一的小部件,则需要获取小部件的QPlainTextEdit并在其中找到children

QPlainTextEdit

答案 1 :(得分:0)

您应该指向QPlainTextEdit s作为主要小部件类的成员:

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();

    void someFunction();
private:
    QPlainTextEdit *plainTextEdit;
}

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
   ...
   plainTextEdit = new QPlainTextEdit;
   ui->tabWidget->addTab(plainTextEdit , "New");
}

void Widget::someFunction()
{
   plainTextEdit->setPlainText("Hello!");
}