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

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

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

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


所以问题是:

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

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

【问题讨论】:

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

标签: python pyqt pyqt4


【解决方案1】:

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

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

【讨论】:

  • 它给了我无效的语法错误,我想是因为它在引号内有引号。
  • 按钮还是比图片大,如果我把它最小化,图片也是。
  • 嗯,这很奇怪。更新你的问题,告诉我你是怎么做的
  • oooh...我的编辑很糟糕......显然你必须设置一次小部件的样式
【解决方案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('QPushButton{border: 0px solid;}')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多