如何在Qt中将QPlainText连接到ComboBox

时间:2015-10-23 05:36:15

标签: qt

关于Qt,我有一个问题。 我希望用户在“普通编辑文本”框中写一个单词。一旦写入单词并从该框中删除光标,我希望将该单词保存在ComboBox中。怎么能实现这个目标呢?

2 个答案:

答案 0 :(得分:2)

将编辑中的editingFinished信号连接到插槽(类上的自定义插槽或lambda函数,如下所示),然后在该插槽中从编辑中获取文本并将其添加到框中的项目。

让我们假设你有c ++ 11:

QComboBox *myBox;
QLineEdit *myEdit;

connect(myEdit, &QLineEdit::editingFinished, [myBox, myEdit](){ 
    myBox->addItem(myEdit->text());
});

您需要根据您的应用程序更新代码,但上述内容应该为您提供所需的想法和指导。

答案 1 :(得分:0)

  

如何将QLineEdit的当前内容添加到下拉菜单(ComboBox)?

假设您有一个以QLineEditQComboBox为成员的班级,并且还有一个与updateDropdown()方法相关联的广告位,例如

class MainWindow : public QMainWindow {
    Q_OBJECT;

    QLineEdit* lineEdit;
    QComboBox* dropDown;

// ...

public slots:
    void updateDropdown();
};

你可以简单地使用

void MainWindow::updateDropdown() {
   dropDown->addItem(lineEdit->text());
}