按钮QPushButton

常用方法:

文本:

// 获取和设置按钮的文本
QString text() const
void setText(const QString &text)

图标:

// 获取和设置按钮的图标
QIcon icon() const
void setIcon(const QIcon &icon)

设置快捷键

可以给按钮这个快捷键,按快捷键时,按钮就会自动被点击

//获取和设置按钮的快捷键
QKeySequence shortcut() const
void setShortcut(const QKeySequence &key)


//比如:按下alt+a,则绑定的按钮被按下
btn->setShortcut(QKeySequence("alt+x"));//可通过字符串指定,不区分大小写

//还可以是有先后顺序的按键序列(用逗号隔开),比如先按下alt+x,再按下alt+c,按钮被按下
btn->setShortcut(QKeySequence("alt+x,alt+c"));

设置菜单

还可以给按钮添加菜单,点击按钮就会出现菜单

//获取和添加菜单
QMenu *QPushButton::menu() const
void QPushButton::setMenu(QMenu *menu)

//调用该槽函数可以直接弹出按钮绑定的菜单
[slot] void QPushButton::showMenu()



//比如:
QMenu* menu=new QMenu(this);
menu->addAction("菜单项1");
menu->addAction("菜单项2");
btn->setMenu(menu);

 

样式表:

按钮是一个典型的盒子模型控件,可以通过qss设置文本颜色、背景色、背景图片、字体、边框、边框圆角、鼠标悬浮样式、鼠标按下样式等

// 获取和设置样式表
// 这是继承自QWidget类的属性和方法
// 只要继承自QWidget类的控件,都有该属性
QString styleSheet() const
void setStyleSheet(const QString &styleSheet)

背景色:

background-color:rgb(125,125,125)

background-color:qlineargradient(spread:reflect,

x1:1,y1:0.5,

x2:1,y2:0,

stop:0.16 rgba(0,0,0,255),

stop:1 rgba(255,255,255,255));

渐变效果:

字体:

  • font:75 14px "微软雅黑";(字体粗细 字体尺寸 字体类型)

字体颜色:

  • color:rgb(255,255,255);

背景图片:

  • background-image:url(:/test.gif);这个设置的背景图不能随按钮的大小缩放,但会保留按钮的凹凸效果,可以调用按钮的setFlat(true)去掉凹凸效果
  • border-image:url(:/test.gif);这个设置背景图会随按钮的大小缩放,但是会去掉按钮的凹凸效果

圆角边框:

  • border-radius:10px

指定鼠标移上去的样式,使用状态选择器:

QPushButton:hover{}//鼠标移上去的样式

QPushButton:!hover{}//鼠标没有移上去的样式

QPushButton:pressed{}//鼠标按下的样式

 常用信号:

按钮在按下和抬起的过程中会发射多个信号:

// 当按钮被点击(按下并抬起)时,发送该信号,其中带有一个默认参数
// 对于QPushButton 通常不需要传递这个默认参数
// 对于可选中/取消选中的按钮,比如复选框QCheckBox、单选框QRadioButton 
// 可以通过该参数,获取其是否选中
void clicked(bool checked = false);

// 当按钮被按下时,发送该信号
void pressed();

// 当按钮被抬起时,发送该信号
void released();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值