QtQComboBox信号连接问题

文章目录[隐藏]

QtQComboBox 信号连接问题描述

在 QWidget 中有一个 QComboBox 控件,在构造函数中渲染 QComboBox,并连接他的 currentIndexChanged 信号;
在我第二次渲染的时候,我先清空了原来的 QComboBox 数据,再通过 addItems 方法添加数据,结果添加的时候就会触发 currentIndexChanged,
但是实际开发中重新渲染 QComboBox 不想再触发 currentIndexChanged 信号。

QtQComboBox 信号连接问题解决思路

1. 在重新渲染前,线断开 currentIndexChanged 信号;
2. 断开信号后,开始渲染 QComboBox;
3. 渲染完成重新连接信号

QtQComboBox 信号连接问题例子

h 文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

public slots:
    void slotCurrentIndexChanged(int);

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    QStringList m_cityList;

    int counter;
};

#endif // MAINWINDOW_H

QtQComboBox信号连接问题插图
posted @ 2020-03-26 19:09  不随。  阅读(108)  评论(0)    收藏  举报  来源