2017-10-10 45 views
3

通常我看到的,當QComboBox在Qt的用戶接口被使用,以便與當前QString文本從QComboBox運行程序,必須有一個QPushButton,通過按壓從QComboBox程序運行與當前QString文本和從而可以獲得當前的QString文字。但是我想知道QComboBox是否有任何功能,它會自動將當前更改的QString文本從QComboBox傳遞給程序。我的意思是,當我更改QComboBox當前文本時,程序將自動運行此特定當前文本的操作,而不是一次又一次按下QPushButton如何從QComBox中自動獲取當前的QString文本?

它可能是一個非常簡單的功能任務,但令人驚訝的是我無法找到它。

我感謝您的幫助。提前致謝。

+0

你應該看看如何使用信號在事情發生變化時得到通知。 –

回答

2

您可以使用QComboBox信號如

void currentIndexChanged(int index) 
void currentIndexChanged(const QString &text) 
void currentTextChanged(const QString &text) 
void editTextChanged(const QString &text) 

這些信號連接到正確的插槽,它會自動通知插槽。

+0

是的。它現在工作正常。謝謝。 – Gansroy

0

以一看documentation,就可以看到可用的通知信號,這件事情:

void currentIndexChanged(int index) 
void currentIndexChanged(const QString & text) 

使用他們,你可以有你的問題解決了。

您可以使用再連接來處理事件:

connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)), SLOT(yourfunction(QString))); 

創建自己的yourfunction()或者只是使用Qt Creator的接口。

+0

這也很好,謝謝你的回答。 – Gansroy

相關問題