在另一个类中使用 ui 的 C++ QT 错误

标签 c++ qt

我在 Qt 中遇到问题。我想在另一个类函数中使用“ui”。

使用这段代码:

void test::TextAp()
{
MainWindow::ui->QTextBrowser->append("Test");
}

我收到这些错误:

  1. 错误 C2227:'->qTextBrowser' 的左侧必须指向类/结构/union
  2. 错误 C2227:'->append' 的左侧必须指向类/结构/union

使用这段代码:

void test::TextAp()
{ 
Ui::MainWindow::QTextBrowser->append("Test");
}

我得到这个错误: error C2227: '->append' 的左侧必须指向类/结构/union

主窗口.h:

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    Ui::MainWindow *ui;

private:

};

我能做什么?

ps:请原谅我的英语不好,我是法国人

最佳答案

如果您指的是 Qt 创建的默认项目,ui 不能使用,因为它是私有(private)的。创建一个 MainWindow 对象并使用它(就像在 main() 中使用它一样)。

现在,如果您在 MainWindow 中创建了一个 QTextBrowser 对象,请使用该对象而不是类签名来调用:

ui->objTextBrowser->append("Test")

关于在另一个类中使用 ui 的 C++ QT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145630/

相关文章:

c++ - 当底层 SQL 表从我的应用程序外部更改时自动刷新 QSqlTableModel/QTableView

C++:数组的递归函数

c++ - "Don' t 再次显示消息框中的选项

macos - LLDB 调试器永远不会在 QtCreator 中完成

c++ - 记录用于 GUI 测试的鼠标单击事件。什么比像素坐标更可靠?

c++ - 用 jni 显示 hello world swing

linux - 我怎样才能在 linux 中使用 qt 将窗口带到顶部?

C++ "No matching constructor for initializing Employee"

c++ - C++ 命名空间中静态函数的链接

c++ - 不能调用没有对象的成员函数。 C++