12345678910111213141516171819202122232425262728 |
- #pragma once
- #include <QComboBox>
- class CustomComboBox : public QComboBox
- {
- Q_OBJECT
- public:
- CustomComboBox(QWidget* parent = nullptr);
- ~CustomComboBox();
- void setEditColor(); // 更新样式
- void setSavedColor(); // 恢复样式
- void setWheelEnabled(bool enabled); // 禁用或启用滚轮
- void setRefreshOnClick(bool enabled); // 是否在点击时刷新
- void setCurrentIndexByData(const QVariant& data); // 根据数据设置默认项
- protected:
- bool eventFilter(QObject* watched, QEvent* event) override; // 捕获滚轮事件
- void showPopup() override; // 重写下拉框弹出事件
- private:
- bool m_wheelEnabled = true; // 默认启用滚轮
- bool m_refreshOnClick = true; // 默认点击时调用刷新
- bool m_firstClick = true;
- //QString m_oldValue; // 用于保存上一次的值
- int m_oldValue; // 用于保存上一次的值
- };
|