2017-10-10 535 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

相关问题