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

Qt 控件整理 —— 按钮类

一、PushButton

1. 介绍

在Qt中最常见的就是按钮,它的继承关系如下:

2. 常用属性

3. 例子

我们之前写过一个例子,根据上下左右的按钮去操控一个按钮,当时只是做了一些比较粗糙的去演示信号和槽是这么连接的,这次我们通过学习了一些按钮的接口,去优化这个小demo。

我们把之前操控的按钮,附上一个图标,并且上下左右按钮去设置一些快捷键以及连续点击的设置去熟悉一下上面的使用。

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QIcon icon(":/photo/1.jpg");
    ui->pushButton_photo->setIcon(icon);
    ui->pushButton_photo->setIconSize(QSize(120,120));

    // 将上下左右关联到键盘上
    ui->pushButton_up->setShortcut(Qt::Key_W);
    ui->pushButton_down->setShortcut(Qt::Key_S);
    ui->pushButton_left->setShortcut(Qt::Key_A);
    ui->pushButton_right->setShortcut(Qt::Key_D);

    // 设置鼠标允许按下时持续触发
    ui->pushButton_up->setAutoRepeat(true);
    ui->pushButton_down->setAutoRepeat(true);
    ui->pushButton_left->setAutoRepeat(true);
    ui->pushButton_right->setAutoRepeat(true);

}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_up_clicked()
{
    QRect rect = ui->pushButton_photo->geometry();
    ui->pushButton_photo->setGeometry(rect.x(),rect.y()-10,rect.width(),rect.height());
}


void Widget::on_pushButton_down_clicked()
{
    QRect rect = ui->pushButton_photo->geometry();
    ui->pushButton_photo->setGeometry(rect.x(),rect.y()+10,rect.width(),rect.height());
}

void Widget::on_pushButton_left_clicked()
{
    QRect rect = ui->pushButton_photo->geometry();
    ui->pushButton_photo->setGeometry(rect.x()-10,rect.y(),rect.width(),rect.height());
}

void Widget::on_pushButton_right_clicked()
{
    QRect rect = ui->pushButton_photo->geometry();
    ui->pushButton_photo->setGeometry(rect.x()+10,rect.y(),rect.width(),rect.height());
}

二、RadioButton && CheckBox

1. 介绍

(1)QRadioButton是单选按钮,也就是勾选框,可以让我们在多个勾选框中选一个,勾选框具有排他属性,也就是在一个控件内的所有勾选框,勾选一个以后,其他的就不会被处于勾选状态,类似于单选题的选项,还可以设置QButtonGroup(单选组)的方式实现多选,在组内允许选一个。

(2)CheckBox则是复选框,它对比单选框,基本一样,不过是没有排他性,即,复选框可以选择多个,类似于多选题中的选项

2. 常用属性

属性

说明
checkable是否允许选中
checked是否处于选中状态
autoExclusive

是否排他

选中一个按钮之后是否会取消其他按钮的选中

3. 例子

模拟一下点餐里面选择套餐的情景,熟悉上面的接口

总结

1. 首先是熟悉常见的关于按钮的控件,PushButton、RadioButton、CheckBox,熟悉了这些控件的属性,并且写了简单的小例子

2. 关于PushButton的图标设置、快捷键设置、连点设置、以及位置属性的设置

3. 槽信号的介绍

4. 按钮组QButtonGroup的作用

相关文章:

  • 【油猴脚本/Tampermonkey】DeepSeek 服务器繁忙无限重试(20250214优化)
  • Foundation CSS 可见性
  • 尚硅谷爬虫note003
  • 日志结构化处理:PO对象toString日志转JSON工具
  • 变分边界详解
  • 算力平台 驱动云的使用
  • 前端快速生成接口方法
  • 一、通义灵码插件保姆级教学-IDEA(安装篇)
  • 支付宝 IoT 设备入门宝典(上)设备管理篇
  • 数据结构(考研)
  • 26、深度学习-自学之路-NLP自然语言处理-理解加程序,怎么把现实的词翻译给机器识别。
  • 生成式大模型 怎么结合 知识库与 AI Agent
  • oracle中decode怎么转换成pg
  • linux安装jdk 许可证确认 user did not accept the oracle-license-v1-1 license
  • 【截图】selenium自动通过浏览器截取指定元素div的图片
  • 优雅的git log输出内容更加醒目
  • 软著申请(四)合作开发文档【2025年最新版】
  • FFmpeg + OpenGL ES 美颜相机教程大纲
  • 在cursor/vscode中使用godot C#进行游戏开发
  • linux 下连接mysql(下)
  • 制作单位网站/阿里巴巴seo排名优化
  • 做网站软件是什么行业/今日热点新闻头条排行榜
  • 网站建设案例基本流程/注册城乡规划师报考条件
  • seo优化运营/贵州百度seo整站优化
  • 商业摄影网站源码/网络运营seo是什么
  • 强化政府网站建设管理/广州seo工资