2017-07-14 61 views
0

我想通過使用Qt中的標籤來顯示滑塊的值。只要滑塊值發生變化,就會調用槽功能。標籤值在插槽功能中更新。目前它的工作,但不完美。 問題是:我已經在標籤屬性中將字體大小設置爲12並加粗。但是每當滑塊移動時,標籤的字體大小變爲8而不是粗體。我通過在插槽功能中添加setPointSizesetBold函數來解決此問題。但是有沒有其他選擇,可以更優雅?以下是mainwindow.h:如何保持標籤字體大小不變,而不考慮Qt中的滑塊更改?

private slots: 
    void on_p_slider_sliderMoved(int position); 

和mainwindow.cpp:

void MainWindow::on_p_slider_sliderMoved(int position) 
{ 
    ui->p_label->setNum(position); 

    //more elegant method? 
    QFont fontObj; 
    fontObj.setPointSize(12); 
    fontObj.setBold(true); 
    ui->p_label->setFont(fontObj); 
} 
+0

你可以嘗試使用[Qt樣式表(HTTP ://doc.qt.io/qt-5/stylesheet-reference.html)。 – m7913d

+0

嘗試'ui-> p_label-> setText(QString :: number(position));'並移除插槽中的所有內容。你是否在Designer中設置標籤文本大小和字體? –

回答

0

試試吧setStyleSheet ..

lab = new QLabel(this); 
lab->setStyleSheet("background: rgb(255,255,255); color: #999999;" 
        "font-family: Arial; font-style: bold; font-size: 12pt;"); 
+0

謝謝,它的工作原理!我在構造函數中插入了setStyleSheet方法。我修改了參數,參考了mainwindow.ui中的設置「添加的代碼行是:ui-> p_label-> setStyleSheet(」color:black; font-size:12pt; font-weight:600;「) ; – penguin007

+0

@ penguin007歡迎)) –

相關問題