簡體   English   中英

如何在主窗口中顯示文本?

[英]How to display text in main window?

我是Qt的新手,我很難找到一個簡單的例子來說明如何在主窗口上顯示一些文字。 例如,我只想在字符串中保存一些文本並在主窗口中顯示內容。 我想在mainwindow.cpp做這樣的事情,但無濟於事。

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

在你的mainwindow構造函數中做這個

#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

你需要在mainWindow某個地方使用QLabel ,然后再做

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

然后文本將出現在label

所有小部件都源自相同的基類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提供的答案所示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM