簡體   English   中英

如何根據其文本大小設置QLabel大小?

[英]How to set QLabel size according to the size of its text?

我希望QLabel占用文本的大小。 關注無效。 默認情況下,它使QLabel變得很大。

。H

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    QLabel m_QLabel_choose_interval;

};

#endif // MAINWINDOW_H

.cpp

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    m_QLabel_choose_interval.setParent (this);
    m_QLabel_choose_interval.setText ("Choose interval:");
    m_QLabel_choose_interval.setFrameStyle (QFrame::Panel | QFrame::Sunken);
    m_QLabel_choose_interval.setAlignment (Qt::AlignCenter);
}

m_QLabel_choose_interval被聲明為類成員。


我嘗試了此鏈接中的建議: 動態文本大小QLabel

    r = m_QLabel_choose_interval.fontMetrics().boundingRect("My text");

    m_QLabel_choose_interval.setText ("Choose interval:");
    m_QLabel_choose_interval.setFrameStyle (QFrame::Panel | QFrame::Sunken);
    m_QLabel_choose_interval.setAlignment (Qt::AlignCenter);
    m_QLabel_choose_interval.setFixedWidth (r.width());
    m_QLabel_choose_interval.setFixedHeight (r.height());

這導致標簽對於文本而言太小。 部分文字被隱藏。

以下為我工作:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)   
{  
     m_QLabel_choose_interval.setParent (this);  
     m_QLabel_choose_interval.setText ("Choose interval:");  

     QFont        l_QFont_choose_interval ("times", 24);  
     QFontMetrics l_QFontMetrics_choose_interval (l_QFont_choose_interval);

     m_QLabel_choose_interval.setFont (l_QFont_choose_interval);

     int pixelsWide = l_QFontMetrics_choose_interval.width(m_QLabel_choose_interval.text ());  
     int pixelsHigh = l_QFontMetrics_choose_interval.height();

     m_QLabel_choose_interval.setFrameStyle (QFrame::Panel | QFrame::Sunken);  
     m_QLabel_choose_interval.setAlignment (Qt::AlignCenter);  

     m_QLabel_choose_interval.setFixedWidth (pixelsWide);  
     m_QLabel_choose_interval.setFixedHeight (pixelsHigh);   
}

http://doc.qt.io/qt-5/qfontmetrics.html

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM