我正在开发一个项目,我一开始是在没有 GUI 的情况下制作它,但现在我将它移植到 Qt,但我遇到了问题。
我在一个单独的文件中有我的“旧”实现,我尝试从中访问 MainWindow 小部件,以便输出到 QTextBrowser,但我无法这样做。
在 mainwindow.cpp 我有这个:
void MainWindow::addString(char* text)
{
std::string input = text;
ui->textBrowser->append(QString::fromStdString(input));
return;
}
在 mainwindow.h 中:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_showWelcome_triggered();
void on_showArithmetic_triggered();
private:
Ui::MainWindow *ui;
public slots:
void btnResolveClicked();
void btnClearClicked();
void hideAll();
void addString(char* output);
};
#endif // MAINWINDOW_H
在 simple_mode.cpp 中:
void test()
{
MainWindow *gui = new MainWindow;
gui->addString("WORKS");
MainWindow:: = gui;
}
但是,这不会将“WORKS”附加到文本浏览器,这是我需要的,我认为它将它添加到与主窗口不同的另一个文本浏览器实例。
编辑:我想做的是将一行文本直接从 simple_mode.cpp 附加到文本浏览器。顺便说一句,simple_mode 是在没有任何 Qt 帮助的情况下编写的,这就是我使用 std 字符串的原因,目前 textbrowser 小部件充当虚拟终端输出屏幕,而不是像以前那样使用 printf,我想将行附加到 textbrowser . 但是我已经找到了方法,我现在不需要这个。
我需要帮助