如何在c ++中自动从QComBox获取当前的QString文本?

时间:2017-10-10 12:48:11

标签: c++ qt

通常我看到,在Qt用户界面中使用QComboBox时,为了使用QString中的当前QComboBox文本运行程序,必须有{{1}通过按下QPushButton中当前QString文本运行的程序,可以获得当前QComboBox文本。但是我想知道QString中是否有任何功能,它会自动将当前已更改的QComboBox文本从QString传递给程序。我的意思是,当我更改QComboBox当前文本时,程序将自动运行此特定当前文本的操作,而不是一次又一次按QComboBox

这可能是一项非常简单的功能,但令人惊讶的是我无法找到它。

感谢您的帮助。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用像

这样的QComboBox信号
void currentIndexChanged(int index)
void currentIndexChanged(const QString &text)
void currentTextChanged(const QString &text)
void editTextChanged(const QString &text)

将这些信号连接到正确的插槽,它会自动通知插槽。

答案 1 :(得分:0)

看一下documentation,可以看到这个问题的可用通知信号:

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

使用它们可以解决问题。

您可以使用 connect 来处理事件:

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

创建自己的yourfunction()或仅使用Qt Creator界面。