阅读量: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
输出到控制台。
这样,当我们点击主窗口的按钮时,会打开另一个窗口,并在另一个窗口点击按钮时获取标签的文本值并输出到控制台。