从代码访问在 .ui 文件中创建的小部件

问题描述

我在 Visual Studio 中使用 Qt VS 工具使用 Qt5.12.10。

我在 Qt Designer 中添加了一个 QTextEdit 小部件,如下图所示。

Text

我还将一个按钮连接到一个名为“slot2()”的自定义插槽,我想根据用户在按下“提交”按钮时在 textBox 中键入的内容来编辑文本框中的文本。我用于此任务的代码如下:

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication1.h"

class QtWidgetsApplication1 : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsApplication1(QWidget *parent = Q_NULLPTR);

public slots:
    void slot1() {
        exit(1);
    };

    void slot2() {
        if (ui.textEdit.toPlainText() == "hello")
            ui.textEdit.setText("hello there!");
        else
            ui->centralWidget->textEdit.setText("sorry,I don't understand :(");
    }

private:
    Ui::QtWidgetsApplication1Class ui;
};

这段代码给了我一个编译错误,说“textEdit”不是 Ui::QtWidgetsApplication1Class 的成员。我也试过像这样更改 slot2() 的代码:

    void slot2() {
        if (ui.centralWidget->textEdit.toPlainText() == "hello")
            ui.centralWidget->textEdit.setText("hello there!");
        else
            ui.centralWidget->textEdit.setText("sorry,I don't understand :(");
    }

但这也没有解决问题,说“textEdit 不是‘QWidget’的成员”。我该怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)