我是Qt的新手,我很难找到一个简单的例子来说明如何在主窗口上显示一些文字。例如,我只想在字符串中保存一些文本并在主窗口中显示内容。我想在mainwindow.cpp
中做这样的事情,但无济于事。
this->setText("Hello, world!\n");
答案 0 :(得分:5)
例如主窗口构造函数中的this:
#include <QLabel>
...
QLabel *label = new QLabel(this);
label->setText("first line\nsecond line");
有各种各样的方式可以显示这样的东西,这当然只是其中之一,但它应该让你去。
这是一个简单的示例,显示没有自定义QMainWindow
子类:
#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();
}
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提供的答案所示