如何在主窗口中显示文本

How to display text in main window?

本文关键字:显示 文本 窗口      更新时间:2023-10-16

我是Qt的新手,我很难找到一个简单的例子来说明如何在主窗口上显示一些文本。例如,我只想将一些文本保存在字符串中并在主窗口中显示内容。我想在mainwindow.cpp做这样的事情,但无济于事。

this->setText("Hello, world!n");

例如,在你的主窗口构造函数中这样做:

#include <QLabel>
...
QLabel *label = new QLabel(this);
label->setText("first linensecond line");

有多种方法可以显示类似的东西,这自然只是其中之一,但它应该让你开始。

下面是一个简单的示例,在没有自定义QMainWindow子类的情况下显示了这一点:

主.cpp

#include <QLabel>
#include <QMainWindow>
#include <QApplication>
int main(int argc, char **argv)
{
    QApplication application(argc, argv);
    QMainWindow mainWindow;
    QLabel *label = new QLabel(&mainWindow);
    label->setText("first linensecond line");
    mainWindow.show();
    return application.exec();
}

main.pro

TEMPLATE = app
TARGET = main
QT += widgets
SOURCES += main.cpp

构建和运行

qmake && make && ./main

所有小部件都派生自同一个基类 QWidget,可以通过调用 show() 来显示

因此,在最基本的层面上,Qt允许您创建任何小部件并使用最少的代码显示它,甚至不必显式声明主窗口:-

#include <QApplication>
#include <QLabel>
int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel(&mainWindow);
    label->setText("Hello World");
    label->show();
    return app.exec(); // start the main event loop running
}

在此之后,每个 Widget 都可以提供一个父 widget,允许将 QLabel 添加到 MainWindow(或任何其他 Widget)中,如 @lpapp 提供的答案所示

您需要在

mainWindow某处QLabel,然后执行

label->setText("Hello, world!");

然后文本将出现在label中。