qt怎么获取另外窗口的控件值

avatar
作者
筋斗云
阅读量:0

要获取另外窗口的控件值,你可以使用Qt的信号与槽机制来实现。下面是一个示例代码,演示了如何获取另一个窗口中一个标签的文本值:

// 另一个窗口的类 class AnotherWindow : public QWidget {     Q_OBJECT  public:     explicit AnotherWindow(QWidget *parent = nullptr) : QWidget(parent)     {         // 创建一个标签         label = new QLabel("Hello World", this);                  // 创建一个按钮         button = new QPushButton("获取标签文本", this);                  // 连接按钮的点击信号与槽函数         connect(button, &QPushButton::clicked, this, &AnotherWindow::getLabelText);     }      public slots:     void getLabelText()     {         // 获取标签的文本值         QString text = label->text();                  // 输出文本值         qDebug() << "标签文本值:" << text;     }  private:     QLabel *label;     QPushButton *button; };   // 主窗口的类 class MainWindow : public QMainWindow {     Q_OBJECT  public:     MainWindow(QWidget *parent = nullptr) : QMainWindow(parent)     {         // 创建一个按钮         button = new QPushButton("打开另一个窗口", this);                  // 连接按钮的点击信号与槽函数         connect(button, &QPushButton::clicked, this, &MainWindow::openAnotherWindow);     }      public slots:     void openAnotherWindow()     {         // 创建另一个窗口的实例         AnotherWindow *anotherWindow = new AnotherWindow(this);                  // 显示另一个窗口         anotherWindow->show();     }  private:     QPushButton *button; }; 

在上面的代码中,主窗口类MainWindow中的openAnotherWindow函数创建了另一个窗口类AnotherWindow的实例anotherWindow,并显示出来。在AnotherWindow类中,我们连接了一个按钮的点击信号与槽函数getLabelText。在getLabelText函数中,我们获取了标签label的文本值,并通过qDebug输出到控制台。

这样,当我们点击主窗口的按钮时,会打开另一个窗口,并在另一个窗口点击按钮时获取标签的文本值并输出到控制台。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!