如何在主窗口中显示文字?

时间:2014-12-05 16:19:48

标签: c++ qt qtgui qmainwindow qlabel

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

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

3 个答案:

答案 0 :(得分:5)

例如主窗口构造函数中的this

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

有各种各样的方式可以显示这样的东西,这当然只是其中之一,但它应该让你去。

这是一个简单的示例,显示没有自定义QMainWindow子类:

的main.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 line\nsecond line");
    mainWindow.show();
    return application.exec();
}

main.pro

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

构建并运行

qmake && make && ./main

答案 1 :(得分:1)

您需要在QLabel中的某处mainWindow然后执行

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

然后该文字将显示在label

答案 2 :(得分:1)

所有小部件都来自同一个基类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都可以提供一个父窗口小部件,允许将QLabel添加到MainWindow(或任何其他窗口小部件),如@lpapp提供的答案所示

相关问题