常用方法:
文本:
// 获取和设置按钮的文本
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();