33

我是 Qt 的新手,和之间的区别QPushButtonQToolButton我来说不是很清楚。

我知道 aQToolButton通常用于 aQToolBar并且它通常只显示一个图标,没有文字,但我不太了解两者之间的主要区别。

有没有更大的区别?我应该什么时候使用QPushButton,什么时候应该使用QToolButton

我想知道这一点以使用最合适的按钮,并且我需要执行一些 GUI 测试,也许它可能是相关的。

4

2 回答 2

37

QToolButton是 QtWidgets 模块中一组小部件的一部分,这些小部件围绕QAction: QMenuQToolBar等。QPushButton只是一个按钮。因此,QToolButton在幕后比QPushButton. 示例(不完整)列表:

  • QToolButton旨在与QAction. 更改工具按钮默认操作的图标、文本等会反映在按钮上。
  • 您可以更改工具按钮内容的布局(仅图标、仅文本、图标旁边的文本、图标下方的文本)。
  • QToolButton支持“拆分”按钮类型,其中侧边栏热区打开菜单而不是触发默认操作。
  • 工具按钮可以QToolBar通过添加动作直接在 a 中创建,而其他小部件必须显式添加。

另请注意:

  • QToolButton具有比 更小的默认内部边距QPushButton,这反映了它旨在显示在紧凑的行或网格中。QPushButton更多的是包含带有可选图标的文本的“确定”/“关闭”类型按钮。
  • AQToolButton通常应该有一个图标。AQPushButton应该总是有文本。
于 2016-07-26T03:22:29.727 回答
6

来自 Qt 文档:http ://doc.qt.io/qt-5/qtoolbutton.html#details

“工具按钮是一种特殊按钮,可提供对特定命令或选项的快速访问。与普通命令按钮不同,工具按钮通常不显示文本标签,而是显示图标。”

当我想要一个只有一个图标的简单 GUI 按钮时,我使用 QToolButton。但是当我想要一个经典按钮时,我使用 QPushButton。

差别不大,

于 2016-07-25T23:13:53.413 回答