【原创】常用QT控件的常用使用方法

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值