Qt开发总结(10)——控件之Buttons

 

Qt5中提供了5种常用的按钮控件。包括:

控件名

对应类名

描述

按钮

QPushButton

通常意义的按钮

工具栏按钮

QToolButton

在MainWindow中工具栏中的按钮

扫描二维码关注公众号,回复: 9657311 查看本文章

单选按钮

QRadioButton

形状为圈的单选按钮

复选按钮

QCheckBox

形状为方框的勾选复选按钮

命令链接按钮

QCommandLinkButton

 

QPushButton

通常意义上的按钮。点击按钮可以驱使计算机完成某项动作或回答某个问题。典型的按钮有OK,Apply,Cancel,Yes,No和Help按钮等。一般来说,按钮是一个矩形Widget,在其表面有一个字符串或者图标(icon)显示其功能。

QPushButton *button = new QPushButton("&Download", this);

在上述实例化QPushButton的例子中,可以用“Alt+D”快捷键启动按钮。显示的字符串或者图标可以用构造函数设置也可以用setText() 和 setIcon()函数设置。如果按钮被禁用,则按钮的字符串或图标将变为灰色等禁止使用的效果。

当按钮被鼠标点下或按下快捷键时,将触发一个clicked()信号,通过设计该信号的槽函数可是实现点击按钮要执行的动作。

connect(button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));

QToolButton

QToolButton是应用在工具栏中的功能按钮快速入口。 与普通按钮不同的是,ToolButton通常不显示text,而是显示icon。ToolButton通常在新的QAction创建的时候或者已经存在的QActions被添加到工具栏时生成,也即调用QToolBar::addAction()时。QToolButton支持 auto-raising. 如果是auto-raise 模式,当鼠标指向它时,将会绘制一个3D窗体。这个特征是默认打开的,如果想改变它,调用setAutoRaise()函数。

tool button的icon是 QIcon对象. 这使得我们可以设计不用的pixmaps 类表达disabled 和active状态。 当按钮不可用时用disabled pixmap ,当按钮是auto-raised 状态,鼠标在其上浮动时,显示active pixmap。按钮的显示效果可用setToolButtonStyle() 和 setIconSize()函数实现。

ToolButton还可以以popup menu的形式提供附加选择,课调用setMenu()函数来实现弹出菜单。用setPopupMode()函数来配置带有menu的ToolButton不同的模式。一种是DelayedPopupMode,比如在浏览网页时右键点击回退时弹出的菜单。

QRadioButton

QRadioButton是一种按钮只可以被选择或不选择,一般面向多选一的应用需求。在一组radio buttons中,一次只有一个按钮可以被选中。如果用户选择了另外一个按钮,之前选中的按钮将被释放。Radio buttons默认是互相排斥的,auto-exclusive被使能的前提下,同属于一个父窗体的radio buttons互相排斥。如果你想自己设计参与排斥组合的按钮,则可以通过将radio buttons放进QButtonGroup来实现。

不论按钮是被选中还是不选中,都会发送toggled()信号。连接一个槽函数则可以实现按钮状态发生变化的动作响应。用isChecked()函数来判断按钮是否为选中状态。

和QPushButton一样,radio button也显示文本和小的icon。同样通过setIcon()设置icon,setText设置文本。通过用“&”号指定快捷键,如:

QRadioButton *button = new QRadioButton("Search from the &cursor", this);

上述按钮的快捷键为Alt+c。

 

QCheckBox

QCheckBox 是一种支持复选的选择按钮。通常被用于打开或关闭某些特征,同时并不影响彼此。

不论checkbox被勾选与否,都会发送stateChanged()信号。可以连接一个槽函数以实现状态发生变化后的操作。也可以使用isChecked()函数判断checkbox是否被选中。这意味着,除了判断被选中与否,QCheckBox还提供了第三个状态“未变化”。如果想使用这个信号,需要使能setTristate(), 然后用 checkState()来参看状态。.

就像QPushButton,checkbox也显示文本和小的icon。同样通过setIcon()设置icon,setText设置文本。通过用“&”号指定快捷键,如:

QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);

上述例子中,快捷键为Alt+A.

QCommandLinkButton

QCommandLinkButton 是一种Vista style 链接按钮。它的用途类似于单选按钮,用于一组互斥的选项中选择。一般不单独使用,而是作为向导和对话框中单选按钮的替代,即常见的“下一个”。通常会有一个箭头图标,表示按下按键将打开另一个窗口或页面。

Example

可到本人下载频道下载例子,运行结果如下图:

发布了76 篇原创文章 · 获赞 63 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/bjtuwayne/article/details/100782336
今日推荐