【问题标题】:Adding a QLabel to a QWidget将 QLabel 添加到 QWidget
【发布时间】:2014-12-05 16:11:42
【问题描述】:

我是 Qt 和 C++ 的新手,正在开发一个应用程序,我正在尝试使用 QHBoxLayoutQWidget 中添加 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);    

styleSheet 用于添加 QLabel 的 Widget。

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

请帮忙。

【问题讨论】:

  • 1) 您的代码中有错字 - 不应该是 QLable,而是 QLabel。 2)您是否尝试过最简单的项目,仅使用此代码,没有别的?我刚刚尝试过,对我来说效果很好。
  • 抱歉打错了...布局似乎在我的项目中不起作用。所以我在父类中创建一个 Qlabel 实例并使用 setsize() 设置它的位置和大小和move() 方法分别。它现在运行良好。

标签: c++ qt qwidget qlabel qlayout


【解决方案1】:

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

结果是

我认为这是你想要的......

【讨论】:

  • 抱歉打错了...布局似乎在我的项目中不起作用。所以我在父类中创建 Qlabel 的实例并使用 setsize() 设置它的位置和大小和move() 方法分别。它现在运行良好。
猜你喜欢
  • 2014-11-29
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 2013-08-17
  • 2020-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多