将QLabel添加到QWidget中

3

我是Qt和C ++方面的新手,正在开发一个应用程序,并尝试在QWidget中使用QHBoxLayout添加QLabel。我将标签的文本设置为某些内容,但在标签中并不可见。

这是代码片段:

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);    
是用于添加QLabel的Widget的。 请帮忙。

2
  1. 您的代码中有一个拼写错误 - 应该是 QLabel,而不是 QLable
  2. 您是否尝试过使用最简单的项目,只包含此代码,没有其他内容?我刚刚尝试了一下,对我来说它完全正常运行。
- Googie
抱歉打错字了...在我的项目中似乎布局不起作用。所以我在父类中创建了一个Qlabel实例,并使用setsize()和move()方法设置其位置和大小。现在它运行得很好。 - Sadaab
1个回答

9

你的代码中有个错别字,应该是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);
}

结果是:

http://i.imgur.com/G6OMHZX.png

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

抱歉打错字了...在我的项目中似乎布局不起作用。因此,我在父类中创建Qlabel的实例,并使用setsize()和move()方法设置其位置和大小。现在它运行得很好。 - Sadaab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接