2017-01-03 52 views
0

只是一個簡短的問題:如何在插槽外的UI中修改QLabel對象?

我希望編輯QLabel對象的插槽之外的文本,具體取決於與小部件無關的條件語句的值。在線研究尚無定論,所以如果你們中的任何一位能夠澄清這是如何完成的,我將不勝感激。

謝謝!

編輯:我使用Qt Designer將QLabel放在我的MainWindow類中,這意味着它從未在我的MainWindow.cpp源代碼中正式聲明。下面是代碼的解釋:

if (webcam.isOpened() == false) 
{ 
    MainWindow::mainVideo.setText("Stream is offline.") 
    /*mainVideo is my QLabel, I need to figure out how to access this if 
    *it was placed into my UI via Qt Designer. 
    */ 
} 
+0

什麼是你修改QLabel的條件? – eyllanesc

+0

除了沒有必要有一個插槽來修改它的值 – eyllanesc

+0

這只是一個布爾值。如果檢測到視頻流(我正在使用OpenCV),請顯示視頻流並將QLabel中的文本留空。如果未檢測到,則以中心對齊方式以粗體,紅色字母顯示「視頻流離線」。 –

回答

1

必須使用:

if(condition){yourlabel.setText(your text);} 

你的情況:

if (!webcam.isOpened()) 
{ 
    ui->mainVideo->setText("Stream is offline.") 
    /*mainVideo is my QLabel, I need to figure out how to access this if 
    *it was placed into my UI via Qt Designer. 
    */ 
} 
+0

我使用Qt Designer將QLabel放入我的用戶界面,它從未在我的.cpp文件中明確聲明。因此,遵循該建議會導致編譯時錯誤。我可能應該在我原來的問題中說明,讓我隨同一些代碼一起修改它。 –

+0

@MichaelLilley ui-> label-> setText(「your text」); – eyllanesc

+0

像魅力一樣工作,謝謝! –