2014-10-10 770 views
2

我是Qt和C++的新手,並且正在開發一個應用程序,並且我正嘗試使用QHBoxLayout將QLabel添加到QWidget中。 我將標籤的文本設置爲某些內容,但它在標籤中不可見。將QLabel添加到QWidget

這裏是代碼的片:

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

樣式表是用於在其中添加QLabel窗口小部件。

字符串「random String」不會顯示在標籤內部。

請幫忙。

+2

1)你有一個錯字你代碼 - 應該不是'QLable',而是'QLabel'。 2)你是否用最簡單的項目嘗試過,只用這個代碼,沒有別的?我剛剛嘗試過,它對我來說工作得很好。 – Googie 2014-10-10 13:52:06

+0

對不起錯字...看起來佈局不在我的項目中工作。所以我在父類中創建一個Qlabel實例,並分別使用setsize()和move()方法設置它的位置和大小。它現在工作得很好。 – Sadaab 2014-10-14 08:56:15

回答

5

您的代碼有一個錯字,這是QLabelQLable ...

假定這將在編譯的時候我看不出有什麼用代碼問題通知你,也許你可以分享更多的項目與我們...

我做了這個類的一個小試驗:

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

,我以爲這是你想要的...

+0

對不起錯字......看起來佈局在我的項目中不起作用。所以我在父類中創建了一個Qlabel實例,並分別使用setsize()和move()方法設置它的位置和大小。它現在工作得很好。 – Sadaab 2014-10-14 08:56:43