向QWidget添加QLabel

问题描述 投票:3回答:1

我是Qt和C ++的新手,正在开发应用程序,我正在尝试使用QLabelQWidget中添加QHBoxLayout。我正在将标签文本设置为某些内容,但在“标签”中看不到。

这是一段代码:

setStyleSheet( "QWidget{ background-color : rgba( 160, 160, 160, 255); border-radius : 7px;  }" );
QLabel *label = new QLabel(this);
QHBoxLayout *layout = new QHBoxLayout();
label->setText("Random String");
layout->addWidget(label);
setLayout(layout);    

styleSheet用于添加了QLabel的小部件。

字符串"Random String"不会显示在标签内。

请帮助。

c++ qt qwidget qlabel qlayout
1个回答
5
投票

您的代码有错字,是QLabel不是QLable...

假设这会在编译时通知您,但我看不出代码有什么问题,也许您可​​以与我们共享更多项目...

我对该课程进行了小测试:

mynewwidget.h

#ifndef MYNEWWIDGET_H
#define MYNEWWIDGET_H

#include <QWidget>

class MyNewWidget : public QWidget
{
    Q_OBJECT
public:
    explicit MyNewWidget(QWidget *parent = 0);
};

#endif // MYNEWWIDGET_H

mynewwidget.cpp

#include "mynewwidget.h"

#include <QHBoxLayout>
#include <QLabel>

MyNewWidget::MyNewWidget(QWidget *parent) :
    QWidget(parent)
{
    setStyleSheet( "QWidget{ background-color : rgba( 160, 160, 160, 255); border-radius : 7px;  }" );
    QLabel *label = new QLabel(this);
    QHBoxLayout *layout = new QHBoxLayout();
    label->setText("Random String");
    layout->addWidget(label);
    setLayout(layout);
}

结果是

“

我想这就是你想要的...

© www.soinside.com 2019 - 2024. All rights reserved.