图像作为 Python 中的复选框

Posted

技术标签:

【中文标题】图像作为 Python 中的复选框【英文标题】:Image as checkbox in Python 【发布时间】:2017-02-01 22:49:12 【问题描述】:

Python 是否可以将图像用作复选框(在使用 PyQT 制作的 GUI 应用程序中)?例如,有一个蓝色圆圈的图像,当你点击它时,它会变成红色。

【问题讨论】:

是的,有可能。也许您应该尝试编写一个小示例(提示:使用QLabel 作为图像/按钮),然后在/当您有更具体的问题时再回来。 【参考方案1】:

这是应对这一挑战的解决方案:

import sys

from PyQt4 import QtCore
from PyQt4.QtGui import *


def chk():
    global button, checked

    checked = not checked
    ic = icon1 if checked else icon2
    button.setIcon(ic)

app = QApplication(sys.argv)
widget = QWidget()
layout = QHBoxLayout()
widget.setLayout(layout)

checked = True
button = QPushButton()
button.setFlat(True)
button.clicked.connect(chk)
button.setStyleSheet('border:none')
layout.addWidget(button)

icon1 = QIcon("off.png")
icon2 = QIcon("on.png")
button.setIcon(icon1)
button.setIconSize(QtCore.QSize(30, 30))

widget.show()
app.exec_()

【讨论】:

以上是关于图像作为 Python 中的复选框的主要内容,如果未能解决你的问题,请参考以下文章

在相对布局内对齐复选框

Java Swing,尝试用图像图标复选框替换 JTable 中的布尔复选框

自定义复选框

notifyDataSetChanged() 在 BaseAdapter 中无法使用 android 中的复选框列表

从 node.js 中的扫描图像评估复选框

如何在不使用android中的图像的情况下增加复选框边框