新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

qt如何获取另外窗口的控件值,qt获取指定路径下所有文件名

发布时间:2023-11-08 23:31:23

qt如何获得另外窗口的控件值

要获得另外窗口的控件值,你可使用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输出到控制台。

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