QAbstractButton:
常用接口:
void setCheckable(bool); //在按下之后,保持按下的状态
bool isCheckable() const;
bool isChecked() const;
void click();
void toggle();
void setChecked(bool);
signals:
void pressed();
void released();
void clicked(bool checked = false);
void toggled(bool checked);
QSpinBox/QDoubleSpinBox
常用接口:
//QSpinBox
int value() const;
void setValue(int val);
int singleStep() const;
void setSingleStep(int val);
void setRange(int min, int max);
//QDoubleSpinBox
double value() const;
void setValue(double val);
double singleStep() const;
void setSingleStep(double val);
void setRange(double min, double max);
int decimals() const;
void setDecimals(int prec);
signals:
void valueChanged(int); //QSpinBox
void valueChanged(double); //QDoubleSpinBox
在qt5中,还有被弃用的信号
void valueChanged(const QString &)
这导致手动connect时会报错, 因为编译器无法自动推导connect的是void valueChanged(const QString &)
还是void valueChanged(int/double)
解决方案:
connect(XXX, (void (QSpinBox::*)(int))(&QSpinBox::valueChanged), XXX, &XXX);
QComboBox
常用接口:
int count() const;
void clear();
void setCurrentIndex(int index);
int currentIndex() const;
QString currentText() const;
QVariant currentData(int role = Qt::UserRole) const;
QVariant itemData(int index, int role = Qt::UserRole) const;
inline void addItem(const QString &text, const QVariant &userData = QVariant());
inline void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant());
signals:
void activated(int index);
void currentIndexChanged(int index);
activated和currentIndexChanged的主要区别为,前者一般是由界面中交互时触发. 而后者只要index改变(例如调用接口setCurrentIndex)都会触发;
同上, qt5.15中存在被废弃的接口
void activated(const QString &)
和void currentIndexChanged(const QString &)
, connect时编译器会报错
解决方案:
connect(XXX, (void (QComboBox::*)(int))(&QComboBox::activated), XXX, &XXX);
connect(XXX, (void (QComboBox::*)(int))(&QComboBox::valueChanged), XXX, &XXX);
QAbstractSlider
常用接口:
void setSingleStep(int);
int singleStep() const;
void setPageStep(int);
int pageStep() const;
int value() const;
void setValue(int);
void setRange(int min, int max);
signals:
void valueChanged(int value);
QTabWidget
常用接口
int addTab(QWidget *widget, const QString &);
int addTab(QWidget *widget, const QIcon& icon, const QString &label);
int insertTab(int index, QWidget *widget, const QString &);
int insertTab(int index, QWidget *widget, const QIcon& icon, const QString &label);
void removeTab(int index);
int currentIndex() const;
void setCurrentIndex(int index);
signals:
void currentChanged(int index);
void tabCloseRequested(int index);
void tabBarClicked(int index);
void tabBarDoubleClicked(int index);