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

设计师专用网站方象科技专注于什么领域

设计师专用网站,方象科技专注于什么领域,网站运营怎么做,app界面设计说明按钮控件继承自抽象类QAbstractButton。 抽象类不允许实例化对象,内部定义纯虚函数。只能通过子类继承,重写纯虚函数的方式使用。 1. QPushButton 1.1 QAbstractButton中和QPushButton相关的属性 text按钮显示文本icon按钮图标iconSize按钮图标尺寸s…

按钮控件继承自抽象类QAbstractButton。

抽象类不允许实例化对象,内部定义纯虚函数。只能通过子类继承,重写纯虚函数的方式使用。

1. QPushButton

1.1 QAbstractButton中和QPushButton相关的属性

text按钮显示文本
icon按钮图标
iconSize按钮图标尺寸
shortCut按钮对应快捷键
autoRepeat点击鼠标是否重复触发按钮。true,点击一次,连续触发。false,点击一次,触发一次
autoRepeatDelay连续触发的延迟时间。点击过多少时间后,开始重复触发
autoRepaetInterval重复触发的周期

示例1:带图标的按钮 setIcon(QIcon)

图片等外部资源,优先考虑保存到qrc,除非这个资源太大了。

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建图标对象QIcon icon(":/icon.png");ui->pushButton->setIcon(icon);ui->pushButton->setIconSize(QSize(50,50));
}Widget::~Widget()
{delete ui;
}

示例2:给按钮添加快捷键 setShortCut(QKeySequence)

参数:QKeySequence类型,表示一组按键序列。

构造QKeySequence的两种方式

单按键:

组合按键:


  • 单个按键作为快捷键
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置按钮图标ui->pushButton_right->setIcon(QIcon(":/right.png"));ui->pushButton_right->setIconSize(QSize(50,50));ui->pushButton_left->setIcon(QIcon(":/left.png"));ui->pushButton_left->setIconSize(QSize(50,50));ui->pushButton_up->setIcon(QIcon(":/up.png"));ui->pushButton_up->setIconSize(QSize(50,50));ui->pushButton_down->setIcon(QIcon(":/down.png"));ui->pushButton_down->setIconSize(QSize(50,50));//设置按钮快捷键ui->pushButton_up->setShortcut(QKeySequence("w"));ui->pushButton_down->setShortcut(QKeySequence("s"));ui->pushButton_left->setShortcut(QKeySequence("a"));ui->pushButton_right->setShortcut(QKeySequence("d"));}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_up_clicked()
{//1.获取geometryQRect rect=ui->pushButton_target->geometry();qDebug()<<rect;//2.设置geometry
//    rect.setY(rect.y()-5);//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x(),rect.y()-5,rect.width(),rect.height());}void Widget::on_pushButton_down_clicked()
{//1.获取geometryQRect rect=ui->pushButton_target->geometry();qDebug()<<rect;//2.设置geometry
//    rect.setY(rect.y()+5);
//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x(),rect.y()+5,rect.width(),rect.height());
}void Widget::on_pushButton_left_clicked()
{//1.获取geometryQRect rect=ui->pushButton_target->geometry();qDebug()<<rect;//2.设置geometry
//    rect.setX(rect.x()-5);//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x()-5,rect.y(),rect.width(),rect.height());}void Widget::on_pushButton_right_clicked()
{//1.获取geometryQRect rect=ui->pushButton_target->geometry();qDebug()<<rect;//2.设置geometry
//    rect.setX(rect.x()+5);//    ui->pushButton_target->setGeometry(rect);ui->pushButton_target->setGeometry(rect.x()+5,rect.y(),rect.width(),rect.height());}

  • 组合按键作为快捷键

推荐使用枚举类型,编译器会对类型进行检查,防止拼写出错。


鼠标点击和快捷键点击的区别

点击+释放(点击一次):鼠标和快捷键都只触发一次点击事件。

点击,不释放(长按):鼠标只触发一次快捷键 默认 重复触发,直到 释放快捷键。

想要鼠标按下期间(不释放),能够自动重复触发点击信号,设置autoRepeat

2. QRadioButton 单选按钮

2.1 QAbstractButton中和QRadioButton中相关的属性

checkable按钮是否能选中
checked

按钮的选中状态,checkable是可以checked的前提。

可以用来设置默认选中的按钮。

autoExclusive

是否排他。

选中一个选项后,是否会取消其他选中的按钮。

对QRadioButton,这是个单选按钮,此属性默认是 排他的。

例1:使用单选按钮,选择性别,并设置默认选项

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置默认选项ui->radioButton_male->setChecked(true);ui->label->setText("您选择的性别为:男");
}Widget::~Widget()
{delete ui;
}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("您选择的性别为:其他");
}

例2:禁用按钮

    ui->radioButton_other->setCheckable(false);//setCheckable按钮禁用,但是依旧会触发点击事件ui->radioButton_other->setEnabled(false);//Qwidget的属性,enabled,禁用控件,且不触发点击事件ui->radioButton_other->setDisabled(true);

3. 按钮信号

clicked:点击鼠标触发(按下+释放鼠标)

pressed:按下鼠标时触发

released:释放鼠标时触发

toggled:按钮状态切换时触发该信号

例1:观察各个信号的触发方式

toggled信号,在被选中时,状态发生切换。点击其他单选按钮,因为排他属性,按钮的选中状态发生改变,变为false,又一次触发状态切换信号。

QButtonGroup单选按钮分组

 QButtonGroup* groupbuger=new QButtonGroup(this);groupbuger->addButton(ui->radioButton_burger1);

例2:实现简单的模拟点餐

点餐的三个部分:1.汉堡2.小食3.饮料

#include "widget.h"
#include "ui_widget.h"
#include<QButtonGroup>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//对单选项分组QButtonGroup* groupbuger=new QButtonGroup(this);QButtonGroup* groupchips=new QButtonGroup(this);QButtonGroup* groupdrink=new QButtonGroup(this);//添加groupbuger->addButton(ui->radioButton_burger1);groupbuger->addButton(ui->radioButton_burger2);groupbuger->addButton(ui->radioButton_burger3);groupchips->addButton(ui->radioButton_chips1);groupchips->addButton(ui->radioButton_chips2);groupchips->addButton(ui->radioButton_chips3);groupdrink->addButton(ui->radioButton_drink1);groupdrink->addButton(ui->radioButton_drink1);}Widget::~Widget()
{delete ui;
}

4.QCheckBox 复选按钮

4.1 属性

  • QCheckButton中和QRadioButton中相关的属性
checkable按钮是否能选中
checked

按钮的选中状态,checkable是可以checked的前提。

可以用来设置默认选中的按钮。

  • QCheckBox内置属性
tristate实现“三态复选框”

不咋用,暂时不学

例:通过PushButton按钮,获取复选项内容、刷新Label

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{//点击确认后,获取复选按钮选择的内容,设置到labelQString result="今天你的安排是:";if(ui->checkBox_date->isChecked()==true){result+=ui->checkBox_date->text();result+=" ";}if(ui->checkBox_rest->isChecked()==true){result+=ui->checkBox_rest->text();result+=" ";}if(ui->checkBox_learn->isChecked()==true){result+=ui->checkBox_learn->text();result+=" ";}ui->label->setText(result);
}

5.QToolButton

QtoolButton的大部分功能,和QPushButton是一致的,但是QToolButton主要应用在工具栏、菜单等场景。

http://www.mmbaike.com/news/75872.html

相关文章:

  • 加快政务网站群建设管理宣传推广渠道有哪些
  • 专业制作网站是什么深圳门户网站
  • 百度收录不到公司网站手机登录百度pc端入口
  • 主题商店网站设计seo文章优化技巧
  • 温州网站推广站建设厦门seo优
  • 房地产网站推广东莞关键词排名seo
  • 网站360做的标记如何取消保定关键词排名推广
  • 手机网站建站费用网址如何下载视频
  • 电子产品网站建设策划b2b网站源码
  • 张家口网站建设开发新浪网今日乌鲁木齐新闻
  • wordpress最简单的主题网站优化排名公司哪家好
  • 网站建设人员配置搜索关键词分析
  • 香港特别行政区的土地面积seo工具不包括
  • 了解网站开发的背景app推广软件有哪些
  • 电子商务网站的实施包括哪些步骤自动app优化官网
  • led灯 东莞网站建设网络推广策划
  • 专门做简历的网站有哪些怎么做百度关键词排名
  • 全国开发一个网站需要多少钱重庆seo公司怎么样
  • 中核集团为什么排央企第一名苏州seo推广
  • 北京微网站建设什么是百度竞价排名
  • 虚拟主机管理怎么做网站百度推广管理系统
  • 手机微信网站怎么做seo详细教程
  • 网站做自签发证书网站建设与维护
  • 东港区网站制作宁波seo公司排名榜
  • wordpress 页面 自定义页面深圳关键词优化怎么样
  • 免费h5页面应用制作精准的搜索引擎优化
  • 专业的上海网站建设公司营销策略有哪几种
  • 河北省政府网站建设现状什么网站可以免费发广告
  • html网页制作超链接青岛seo霸屏
  • 佛山做外贸网站推广可口可乐软文营销案例