制作公众号,宁波seo整站优化软件,建筑企业公司的投标简介,网站建设黑客篡改目录
1.QPushButton按钮
介绍
属性
Demo#xff1a;键盘方向键控制人物移动
2.Redio Button按钮
属性
clicked、pressed、released、toggled区别
单选按钮的分组
Demo#xff1a;点餐小程序 3.CheckBox按钮
属性
Demo#xff1a;获取今天的形成计划
4.ToolBu…目录
1.QPushButton按钮
介绍
属性
Demo键盘方向键控制人物移动
2.Redio Button按钮
属性
clicked、pressed、released、toggled区别
单选按钮的分组
Demo点餐小程序 3.CheckBox按钮
属性
Demo获取今天的形成计划
4.ToolButton按钮 1.QPushButton按钮
介绍 QPushButton是继承与一个QAbstractButton类这个类是一个抽象的类类内部包含了按钮类所需要的纯虚函数是所有按钮的一个父类。在Qt Designer中也可以看到继承关系。 属性
属性说明text按钮的文本icon按钮中的图标iconSize按钮中图标的一个尺寸shortCut 按钮对应的一个快捷 autoRepeat 按钮是否会重复触发当鼠标按住不放的时候如果设置为true的话会持续产生鼠标点击事件如果欸false的话则需要释放鼠标再次点击才会触发鼠标点击事件。autoRepeatDelay 重复触发的延迟事件按钮按住多久才会触发第二次的鼠标点击事件autoRepeatInterval重复触发的周期
Demo键盘方向键控制人物移动 流程放置按钮并设置图标--按钮绑定槽函数--设置快捷键--开启按键连续触发 对于快捷键的设置需要传递一个QKeySequence对象参数所以我们在设置时要将快捷键设置在QKeySequence生成一个对象在传递给setShortCut函数。对于快捷键的设置可以是组合建直接写入xx xx字符串即可。对于上述的快捷键设置虽然说简单但是没有安全性检查对于Qt内部内置了一系列的枚举按键可以使用枚举类型的变量设置快捷键可以很好的检查快捷键的正确性。其实对于组合键的设置是两个位图的相加。
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);ui-pushButton_false-setEnabled(false);//设置被移动的图片和大小ui-pushButton_people-setIcon(QIcon(:/people.png));ui-pushButton_people-setIconSize(QSize(500, 500));//设置方向键的图标ui-pushButton_up-setIcon(QIcon(:/up.png));ui-pushButton_down-setIcon(QIcon(:/down.png));ui-pushButton_left-setIcon(QIcon(:/left.png));ui-pushButton_right-setIcon(QIcon(:/right.png));//设置快捷键--方式1
// ui-pushButton_up-setShortcut(QKeySequence(w));
// ui-pushButton_down-setShortcut(QKeySequence(s));
// ui-pushButton_left-setShortcut(QKeySequence(a));
// ui-pushButton_right-setShortcut(QKeySequence(d));//设置快捷键--方式2ui-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::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_people-geometry();//基于上次的位置设置新的位置ui-pushButton_people-setGeometry(rect.x(), rect.y() - 5, rect.width(), rect.height());
}//向下移动的按钮
void Widget::on_pushButton_down_clicked()
{//首先获取到人物的位置QRect rect ui-pushButton_people-geometry();//基于上次的位置设置新的位置ui-pushButton_people-setGeometry(rect.x(), rect.y() 5, rect.width(), rect.height());
}//向左移动的按钮
void Widget::on_pushButton_left_clicked()
{//首先获取到人物的位置QRect rect ui-pushButton_people-geometry();//基于上次的位置设置新的位置ui-pushButton_people-setGeometry(rect.x() - 5, rect.y(), rect.width(), rect.height());
}//向右移动的按钮
void Widget::on_pushButton_right_clicked()
{//首先获取到人物的位置QRect rect ui-pushButton_people-geometry();//基于上次的位置设置新的位置ui-pushButton_people-setGeometry(rect.x() 5, rect.y(), rect.width(), rect.height());
}2.RedioButton按钮 该按钮是一个单选的按钮可以让我们在多个选项中选中一个。
属性
属性说明checkable是否可以被选中checked起初的时候是否已经被选中autoExclusive 是否排他也就是说选中一个按钮之后是否会取消其他按钮的选中结果默认来说是排他的。 对于RedioButton来说内部会有一个是否被选中的属性这个属性不需要我们去手动改变无论是PushButton触发的chicked信号还是RedioButton触发的toggle信号都是由按钮自身检测到内部状态的变化而触发的信号所以内部状态变化就包含了更新选中与为选中状态的字段了。
clicked、pressed、released、toggled区别 clicked是一次完整的点击后触发点击信号也就是鼠标按下并释放后触发如果说释放的时候鼠标不在按钮的范围内也是不会触发的。pressed是鼠标按下就触发。released是鼠标释放就会触发此时署鼠标释放的时候不管在哪里都会触发。toggled是checked属性改变的时候触发。也就是说连续点击的时候不会触发信号因为按钮的checked状态是没有改变的。
单选按钮的分组 对于单选按钮有排他的属性那我们如果向设置几个不同类别的排他选项怎么办呢Qt内置了一个QButtonGroup类可以实例化出按钮组的对象内部提供了addButton接口函数可以将我们创建的RedioButton添加到该对象内部在一个对象内部的单选按钮就是分在了一个组。
Demo点餐小程序
#include QButtonGroupWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);//实例化组对象QButtonGroup* group1 new QButtonGroup(this);QButtonGroup* group2 new QButtonGroup(this);QButtonGroup* group3 new QButtonGroup(this);//分组group1-addButton(ui-radioButton);group1-addButton(ui-radioButton_2);group1-addButton(ui-radioButton_3);group2-addButton(ui-radioButton_4);group2-addButton(ui-radioButton_5);group2-addButton(ui-radioButton_6);group3-addButton(ui-radioButton_7);group3-addButton(ui-radioButton_8);
} 3.CheckBox按钮 该按钮是一个复选按钮可以允许选中多个没有排他的属性。
属性
属性说明checked是否被选中checkable是否可以被选中
Demo获取今天的形成计划 4.ToolButton按钮 QToolButton的大部分功能和QPushButton是一致的但是QToolButton主要是应用于工具栏菜单栏等场景。