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

商洛 网站建设中国关键词网站

商洛 网站建设,中国关键词网站,开发网站要多少钱,网站 设计 分辨率文章目录 1. QAbstractButton 简介2. QPushButton2.1 例子1,设置按钮的图标2.2 例子2,设置按钮快捷键 3. QRadioButton3.1 介绍3.2 例子1,选择性别3.3 例子2,试试其他的信号3.3 例子3,分组 4. QCheckBox4.1 介绍4.2 例…

文章目录

  • 1. QAbstractButton 简介
  • 2. QPushButton
    • 2.1 例子1,设置按钮的图标
    • 2.2 例子2,设置按钮快捷键
  • 3. QRadioButton
    • 3.1 介绍
    • 3.2 例子1,选择性别
    • 3.3 例子2,试试其他的信号
    • 3.3 例子3,分组
  • 4. QCheckBox
    • 4.1 介绍
    • 4.2 例子1,获取复选框的内容

1. QAbstractButton 简介

QPushButton 继承⾃ QAbstractButton。这个类是⼀个抽象类.是其他按钮的⽗类。QAbstractButton继承自QWidget

下面是QAbstractButton的一些属性

属性说明
text按钮中的⽂本
icon按钮中的图标
iconSize按钮中图标的尺⼨
shortCut按钮对应的快捷键
autoRepeat按钮是否会重复触发.当⿏标左键按住不放时,如果设为true,则会持续产⽣⿏标点击事件;如果设为false,则必须释放⿏标,再次按下⿏标时才能产⽣点击事件. (相当于游戏⼿柄上的"连发"效果)
autoRepeatDelay重复触发的延时时间.按住按钮多久之后,开始重复触发.
autoRepeatInterval重复触发的周期

2. QPushButton

2.1 例子1,设置按钮的图标

创建qrc文件,并导入图片

image-20241117142305745

使用qt designer创建一个按钮

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

代码如下,使用了setIcon()setIconSize()

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QIcon icon(":/btnPic.png");ui->pushButton->setIcon(icon);ui->pushButton->setIconSize(QSize(100, 100));
}

效果如下

image-20241117142810637

2.2 例子2,设置按钮快捷键

导入图片

image-20241117153944517

image-20241117154009240

设置按钮

image-20241117154345209

编写代码,设置图标和快捷键

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置图标ui->targetBtn->setIcon(QIcon(":/img/plane"));ui->targetBtn->setIconSize(QSize(100, 100));ui->upBtn->setIcon(QIcon(":/img/up"));ui->upBtn->setIconSize(QSize(50, 50));ui->downBtn->setIcon(QIcon(":/img/down"));ui->downBtn->setIconSize(QSize(50, 50));ui->leftBtn->setIcon(QIcon(":/img/left"));ui->leftBtn->setIconSize(QSize(50, 50));ui->rightBtn->setIcon(QIcon(":/img/right"));ui->rightBtn->setIconSize(QSize(50, 50));// 设置快捷键ui->upBtn->setShortcut(Qt::Key_W);ui->downBtn->setShortcut(Qt::Key_S);ui->leftBtn->setShortcut(Qt::Key_A);ui->rightBtn->setShortcut(Qt::Key_D);
}

写槽函数

void Widget::on_upBtn_clicked()
{QRect pos = ui->targetBtn->geometry();ui->targetBtn->setGeometry(pos.x(), pos.y()-10, pos.width(), pos.height());
}void Widget::on_downBtn_clicked()
{QRect pos = ui->targetBtn->geometry();ui->targetBtn->setGeometry(pos.x(), pos.y()+10, pos.width(), pos.height());
}void Widget::on_leftBtn_clicked()
{QRect pos = ui->targetBtn->geometry();ui->targetBtn->setGeometry(pos.x()-10, pos.y(), pos.width(), pos.height());
}void Widget::on_rightBtn_clicked()
{QRect pos = ui->targetBtn->geometry();ui->targetBtn->setGeometry(pos.x()+10, pos.y(), pos.width(), pos.height());
}

完成了

image-20241117155843432

键盘快捷键默认一直按是有连发功能的,如果想让鼠标一直按也有连发功能,可以使用setAutoRepeate()方法

// 让upBtn有连发功能
ui->upBtn->setAutoRepeat(true);

如果想要触发按钮有多个按键,可以使用+号连接

// ctrl+w触发
ui->upBtn->setShortcut(Qt::CTRL+Qt::Key_W);

3. QRadioButton

3.1 介绍

单选按钮,继承自QAbstractButton ,下面是QRadioButton常用的QAbstractButton 的一些属性

属性说明
checkable是否能选中
checked是否已经被选中.checkable是checked的前提条件.
autoExclusive是否排他.选中⼀个按钮之后是否会取消其他按钮的选中.对于 QRadioButton 来说默认就是排他的.

同理,上面的属性都有一个setXXX()的方法

3.2 例子1,选择性别

widget.ui里设置基本界面

image-20241122222337628

槽函数如下

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setText("选择的性别是: 男");    // 设置label的默认值
}void Widget::on_radioButton_male_clicked()
{ui->label->setText("选择的性别是: 男");
}void Widget::on_radioButton_female_clicked()
{ui->label->setText("选择的性别是: 女");
}void Widget::on_radioButton_other_clicked()
{ui->label->setText("选择的性别是: 其它");
}

如果想让这个按钮默认被选中,可以在构造函数这样写

ui->radioButton_male->setChecked(true);

如果不想让 其它 这个按钮被选择,可以在构造函数里这样写

ui->radioButton_other->setCheckable(false);

运行后发现,确实该按钮不能被选中了,但是仍然可以响应槽函数

image-20241122222756991

如果不想让其响应槽函数,可以直接设置enable属性,在QWidget里学过

ui->radioButton_other->setEnabled(false);

image-20241122222941832

3.3 例子2,试试其他的信号

widet.ui中拖上两个radiobutton,转到槽

image-20241123143851127

clicked()点击,preassed()按下,released() 释放信号,都很好理解。这里给这两个radiobutton提那几另外两个槽函数

void Widget::on_radioButton_1_clicked(bool checked)
{qDebug() << "on_radioButton_1_clicked checked: " << checked;
}void Widget::on_radioButton_2_toggled(bool checked)
{qDebug() << "on_radioButton_2_toggled: " << checked;
}

运行结果如下

image-20241123144508445

  • 可以看到,对于clicked(bool),当按钮被点击时,checked会被置成true,且每次点击都会触发。
  • 对于toggled(bool),当按钮被点击时,checked会被置成true,连续点击不会改变值,当按钮被切换时,会将checked置成false
  • toggled(bool) 非常适合使用于QRadioButton

3.3 例子3,分组

widget.ui中搭出基本框架

image-20241123160808157

image-20241123161309155

现在按钮是全部排它的,也就是这8个按钮只能选择1个,现在要将其分组,在widget.cpp的构造函数里写

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QButtonGroup* gp1 = new QButtonGroup(this);QButtonGroup* gp2 = new QButtonGroup(this);QButtonGroup* gp3 = new QButtonGroup(this);// 将按钮添加到GroupBox中gp1->addButton(ui->radioButton_A1);gp1->addButton(ui->radioButton_A2);gp1->addButton(ui->radioButton_A3);gp2->addButton(ui->radioButton_B1);gp2->addButton(ui->radioButton_B2);gp2->addButton(ui->radioButton_B3);gp3->addButton(ui->radioButton_C1);gp3->addButton(ui->radioButton_C2);
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4. QCheckBox

4.1 介绍

QCheckBox继承自QAbstractButton 表⽰复选按钮.可以允许选中多个,下面两个属性是比较常用的

属性说明
checkable是否能选中
checked是否已经被选中.checkable是checked的前提条件.

4.2 例子1,获取复选框的内容

widget.ui中创建3个复选框, 1个按钮

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image-20241123164047503

QPushButton添加槽函数

void Widget::on_pushButton_clicked()
{QString s = "TODO: ";if(ui->checkBox->isChecked() == true) {s += ui->checkBox->text();s += " ";}if(ui->checkBox_2->isChecked() == true) {s += ui->checkBox_2->text();s += " ";}if(ui->checkBox_3->isChecked() == true) {s += ui->checkBox_3->text();s += " ";}ui->label->setText(s);
}

image-20241123164135005

http://www.yidumall.com/news/25530.html

相关文章:

  • 青岛网站策划学会计哪个培训机构比较正规
  • 西昌网站开发公司app推广怎么做
  • 公司网站如何做的美丽dsp投放方式
  • 金川做网站公司针对百度关键词策划和seo的优化
  • 博罗东莞网站建设业务推广网站
  • 现在很多网站都是wordpress免费刷推广链接的软件
  • 做网站的ui框架沧州网站优化
  • iis 5 如何添加网站免费推广网站视频
  • 做淘宝类网站的步骤能打开任何网站浏览器
  • 织梦CMS做的网站能过等保三级吗seo是哪里
  • h5网站要多久关键词挖掘工具爱站网
  • 网站建立平台体验营销案例
  • 燕郊做网站的百度竞价推广开户价格
  • 建设专业网站运营团队发稿平台
  • 做介绍英文网站百度关键字搜索量查询
  • b2c商城开发方案网站优化公司怎么选
  • 适合年轻人开的工作室合肥百度推广优化排名
  • 做外贸网络推广网站排名seo公司哪家好
  • 做自己的网站怎么购买空间谷歌seo培训
  • 用php做网站用什么框架关键词优化技巧有哪些
  • 绵阳政府网站建设西安网站建设推广
  • 网站设计风格怎么写百度爱采购排名
  • 杭州小程序网站开发公司搜索引擎是指什么
  • 如何查询网站是不是诈骗网站外贸网站平台哪个好
  • 企业做网站属于广告宣传费吗今日世界杯比分预测最新
  • 更换wordpress图标河北seo网络推广
  • 中企动力官做网站怎么样简述搜索引擎的工作原理
  • 开封网站建设价格汽油价格最新调整最新消息
  • 做网站好的网络公司云南今日头条新闻
  • 网页设计怎么做网站semi认证