PyQt4:如何使图标大于 QPushButton? (像素图按钮)

Posted

技术标签:

【中文标题】PyQt4:如何使图标大于 QPushButton? (像素图按钮)【英文标题】:PyQt4: How to make Icon bigger than QPushButton? (Pixmap Buttons) 【发布时间】:2016-04-19 09:21:48 【问题描述】:

我正在努力制作像素图按钮,因为没有其他选项(我知道)我尝试使用 QIcon。

我想要作为按钮的图片不是完全正方形的,我只想显示像素图,但它仍然具有按钮功能(连接到插槽的信号等)。

当我试图使图标大小等于按钮时,图标会增大,根本不适合,按钮会显示在图标之外。


所以问题是:

如何使图标大于 QPushButton?所以只有图标会显示,它仍然有图标功能。

如果这是在图标边框上,那么是否有其他方式制作 Pixmap 按钮?

【问题讨论】:

可以试试 QToolButton 吗? 我从来没有用过,我应该这样做吗? btn = QtGui.QToolButton("", self) QToolButton.setPixmap(QtGui.QPixmap(":/something")) ? 我认为 QToolButton 也使用图标,@user1034749 【参考方案1】:

您可以简单地使用 css 通过 background-image 属性来实现这一点,并将边框设置为 0

btn.setStyleSheet("background-image: url('image.jpg'); border: none;")

【讨论】:

它给了我无效的语法错误,我想是因为它在引号内有引号。 按钮还是比图片大,如果我把它最小化,图片也是。 嗯,这很奇怪。更新你的问题,告诉我你是怎么做的 oooh...我的编辑很糟糕......显然你必须设置一次小部件的样式 让我们continue this discussion in chat。【参考方案2】:

我使用 PySide。也许代码相似

btn = QPushButton('')
btn.setIcon(QPixmap(image path))
# adjust width and height to fit the size of button.
btn.setIconSize(QSize(width, height))   
# set zero border.
btn.setStyleSheet('QPushButtonborder: 0px solid;')

【讨论】:

以上是关于PyQt4:如何使图标大于 QPushButton? (像素图按钮)的主要内容,如果未能解决你的问题,请参考以下文章

PyQt4:使用 QPushButton 小部件从 QList 小部件中删除项目

PyQt4(简单布局)

如何基于 QTranslator 更改 QPushButton 的图标字符串

更改 QPushbutton 或 QToolbutton 的图标

如何在 Qt 应用程序中使用样式表更改 QPushButton 图标

如何使用 QPushButton 的系统主题图标——Linux 上的 Qt Designer