当前位置: 首页 > article >正文

QT:Button

目录

1.QAbstractButton

autoExclusive

autoRepeat

autoRepeatDelay

autoRepeatInterval

checkable

checked

down

icon

iconSize

shortcut

text

2.QPushButton

2.1设置图标

2.2添加快捷键

3.QRadioButton


1.QAbstractButton

QPushButton类继承于QAbstractButton类,需要先了解QAbstractButton有那些成员属性。

QPushButton继承于QWidget类。

QPushButton派生了一下这些类。

QAbstractButton有以下属性

autoExclusive

这个属性控制是否排他,就是在一下选项之中只能选择一个,不能多选通常用于QRadioButton。
bool autoExclusive() const
void setAutoExclusive(bool)

autoRepeat

这个属性控制按钮是否能自动重复,在鼠标长按的情况下会以一定的间隔发射信号,默认关闭,通常用于QPushButton。

如果按钮被快捷键触发,是否能autoRepeat和autoRepeat的间隔是由系统决定的而不是这个类的属性。
bool autoRepeat() const
void setAutoRepeat(bool)
 

autoRepeatDelay

这个属性控制autoRepeat的开始前的延迟。
int autoRepeatDelay() const
void setAutoRepeatDelay(int)
 

autoRepeatInterval

这个属性控制autoRepeat的间隔。

int autoRepeatInterval() const
void setAutoRepeatInterval(int)
 

checkable

这个属性控制按钮是否可选,即使设置了不可选,但是点击按钮的时候还会发射信号通常用于QRadioButton。
bool isCheckable() const
void setCheckable(bool)

checked

这个属性控制当前的按钮是否被选中。
bool isChecked() const
void setChecked(bool)
 

down

这个属性控制按钮是否被按下,如果设置为true,clicked()和press()信号将不会被发射。
bool isDown() const
void setDown(bool)
 

icon

这个属性控制按钮的图标。
QIcon icon() const
void setIcon(const QIcon &icon)
这个通常使用pixmap访问qrc中的图片文件,再使用pixmap构建一个Qicon对象。

iconSize

这个属性控制图标的大小。
QSize iconSize() const
void setIconSize(const QSize &size)
QSize这个类表示一个二维对象的大小。

QSize(int width, int height)

shortcut

这个属性控制按钮的快捷键。
QKeySequence shortcut() const
void setShortcut(const QKeySequence &key)
QKeySequence这个类封装了一个键盘序列作为快捷键。

QKeySequence(Qt::CTRL + Qt::Key_P);,将这个对象传到setShortcut()中 ctrl + p 就可以触发这个按钮。

text

这属性控制按钮的文本。
QString text() const
void setText(const QString &text)

2.QPushButton

QPushbutton常用的属性都在QAbstractButton中。

2.1设置图标

qrc如何使用已经再上一篇介绍过了。

QPixmap img(":/images/chicken");
    img = img.scaled(ui->pushButton_Target->geometry().height(), ui->pushButton_Target->geometry().width());
    ui->pushButton_Target->setIcon(QIcon(img));

2.2添加快捷键

ui->pushButton_up->setShortcut(QKeySequence(Qt::Key_W));
    ui->pushButton_down->setShortcut(QKeySequence(Qt::Key_S));
    ui->pushButton_left->setShortcut(QKeySequence(Qt::Key_A));
    ui->pushButton_right->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_D));

3.QRadioButton

单选按钮

 这个类压根没有属于自己的成员属性,全是继承于QAbstractButton中的。

如果在一个控件内想要有多个 QRadioButton的选项,可以使用QGroup进行分组来实现。

QButtonGroup * group1 = new QButtonGroup(this);// 创建一个button组
group1->addButton(ui->radioButton); //向组中添加按钮


http://www.kler.cn/a/545257.html

相关文章:

  • 布隆过滤器(简单介绍)
  • Pro Git --(Windows)总结
  • DeepSeek整理PDF文档以思维导图方式展示
  • TOML介绍
  • Spring Boot(8)深入理解 @Autowired 注解:使用场景与实战示例
  • QML使用ChartView绘制饼状图
  • 从 0 到 1 搭建个人博客:技术选型与实现全解析
  • Java 大视界 -- 边缘计算与 Java 大数据协同发展的前景与挑战(85)
  • Spring Boot 配置JPA数据库主从读写分离失败及解决办法
  • mapbox 从入门到精通 - 目录
  • 股指期货和etf期权哪个更好交易?
  • SSE与Websocket详解,SSE实现对话框流式输出
  • fastadmin 接口请求提示跨域
  • vscode快捷键——MAC
  • 126,【2】攻防世界unseping
  • OpenGL ES -> 投影变换矩阵完美解决绘制GLSurfaceView绘制图形拉伸问题
  • 【2024~2025年备受关注的AI大模型】
  • Grafana-使用Button修改MySQL数据库
  • 单例模式详解(Java)
  • 进阶——第十六蓝桥杯嵌入式熟练度练习(串口的小BUG补充-字符接受不完整和字符接受错误)