在 QT 中设置和操作图标

Posted

技术标签:

【中文标题】在 QT 中设置和操作图标【英文标题】:Setting and manipulating Icons in QT 【发布时间】:2014-01-14 06:31:23 【问题描述】:

我想在QMainWindow 中添加图标,当我单击该窗口时,它应该执行一些操作,例如弹出某个窗口。那么我应该为icon menu 使用什么?

【问题讨论】:

在 QToolBar 我想添加图标。我可以添加按钮、组合框等。但我想添加图标,然后在单击该图标时必须进行操作。 您可以更改工具栏中工具按钮的样式。请参阅 this 和 this。请记住,您需要使用 QToolBar::addAction 才能使用。 @Rupesh:您可以为没有文字的按钮设置图像。 【参考方案1】:

您可以使用QToolButton 类来完成此任务。

可以将其设置为仅包含没有文字的图像/图标。

l 按钮通常在使用 QToolBar::addAction() 创建新的 QAction 实例或使用 QToolBar::addAction() 将现有操作添加到工具栏时创建。也可以以与任何其他小部件相同的方式构建工具按钮,并将它们与布局中的其他小部件一起排列。

工具按钮的图标设置为 QIcon。这使得为​​禁用和活动状态指定不同的像素图成为可能。当按钮的功能不可用时,使用禁用的像素图。当鼠标指针悬停在按钮上自动抬起按钮时,将显示活动像素图。

按钮的外观和尺寸可通过 setToolButtonStyle() 和 setIconSize() 进行调整。当在 QMainWindow 的 QToolBar 中使用时,按钮会自动调整为 QMainWindow 的设置(参见 QMainWindow::setToolButtonStyle() 和 QMainWindow::setIconSize())。除了图标,工具按钮还可以显示箭头符号,由 arrowType 指定。

所以,你会使用这些方法:

QAction * QToolBar::addAction(const QIcon & icon, const QString & text)

使用给定的图标和文本创建一个新动作。此操作被添加到工具栏的末尾。

toolButtonStyle : Qt::ToolButtonStyle

此属性保存工具按钮是仅显示图标、仅显示文本还是在图标旁边/下方显示文本。

默认是 Qt::ToolButtonIconOnly。

要让工具按钮的样式遵循系统设置(在 GNOME 和 KDE 桌面环境中可用),请将此属性设置为 Qt::ToolButtonFollowStyle。

QToolButton 自动将此槽连接到所在的 QMainWindow 中的相关信号。

如您所见,默认只有图标。

【讨论】:

以上是关于在 QT 中设置和操作图标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以分发?

Qt 应用程序的默认鼠标图标

如何在 Symbian 上的 QT 中设置应用程序图标?

Azure Pipelines:在 Powershell 中设置和访问变量

如何在 xmpp android 中设置和获取状态

我如何在 unity 2018.1 中设置和使用 proGrids?