如何把QLabel作为一个控件添加到窗口中使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把QLabel作为一个控件添加到窗口中使用相关的知识,希望对你有一定的参考价值。

原因是那个mainWindow本身就具有Layout了,这个Layout包含了顶部的菜单栏、工具栏,中部的centralWidget和底部的状态栏。

所以你不能再给mainwindow添加QVBoxLayout了,你只能给centralWidget添加layout。

只要将setLayout(mainLayout);
这一句改成:
this->centralWidget()->setLayout(mainLayout);就行了。

改过之后:
MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)


ui->setupUi(this);

QVBoxLayout *mainLayout = new QVBoxLayout;

Title = new QLabel(tr("校园导航系统"),this);

Title->resize(550,100);

Title->setAlignment(Qt::AlignCenter);

Title->setStyleSheet("background-color:red;font-size:40px; color:blue");

Greeting = new QLabel(tr("Welcome"),this);

Greeting->resize(550,100);

Greeting->setStyleSheet("background-color:yellow;font-size:20px; color:blue");

mainLayout->addWidget(Title);

mainLayout->addWidget(Greeting);

this->centralWidget()->setLayout(mainLayout);
//++++++++

setWindowTitle(tr("校园导航系统"));

resize(550,600);

VB2011将VB6的通用对话框控件分解成为OpenFileDialog、SaveFileDialog、ColorDialog 和 FontDialog 组件处理文件、颜色和字体,直接在工具箱面板上找到对应组件,双击加入窗体,即可使用。
参考技术A 搜一下:如何把QLabel作为一个控件添加到窗口中使用

如何更新 QLabel 以显示 QImage

【中文标题】如何更新 QLabel 以显示 QImage【英文标题】:How to update a QLabel to display a QImage 【发布时间】:2012-03-06 20:00:55 【问题描述】:

我可能误解了如何做到这一点,希望有人能澄清一下。

我在 Qt Designer 中的主窗口上放置了一个QLabel。目前,当我运行程序时,它只显示字母“TextLabel”。

我有一个行编辑,我在其中输入图像的路径,然后将图像作为QImage 加载到内存中(我有这个工作)。

最后,我想显示这个QImage。我被告知这可以通过QLabels 来完成。我做了以下事情,但什么都没有发生:

ui.input_label->setPixmap(QPixmap::fromImage(my_qimage));

为什么什么都没发生?如何显示此图像?

【问题讨论】:

您知道QImage在加载后是否有效的标准是什么? @ArnoldSpence 对不起,我不明白。它是出于实验目的,所以我知道它是有效的,因为我正在输入它。 【参考方案1】:

如果您确定图像文件没问题,但问题可能在于将文件加载到QImage。如果你调用QImage::load(),你可能会得到false的返回值。

【讨论】:

有趣。我实际上是通过 OpenCV 加载它,并转换为 ypnos 的回答中概述的 QImage:***.com/questions/9590950/…。我在 OpenCV 中显示图像,这很好。我不需要做任何事情来更新主窗口来查看标签的更新? 哦,我假设您是直接从QImage 的文件加载图像。调用“setPixmap()”后,标签应自行更新并显示图像。

以上是关于如何把QLabel作为一个控件添加到窗口中使用的主要内容,如果未能解决你的问题,请参考以下文章

Qt如何设置窗口屏幕居中显示以及设置大小

QT中控件如何随着窗口大小的改变而使它充满整个窗口空间

如何将图像和文本添加到QLabel

我应该如何将多个控件添加到 WPF 窗口? [复制]

QT界面怎么使控件随窗口大小变化一直居中显示

qt 如何把qsplitter 添加到主窗口