image - 是否可以放置图像而不是按钮,并使其可点击?

标签 image qt python-3.x click pyside

是否可以将图像放入 GUI 应用程序并使其可点击?

我曾经做过这样一个按钮:

img = QPixmap(15, 15)
img.fill(Qt.grey)
button = QPushButton(QIcon(img))
button.clicked.connect(self.button_click)

Link http://imagizer.imageshack.us/v2/800x600q90/834/kaqc.png

但我更喜欢使用图像,而不是带有图标的按钮..

最佳答案

我有相同的要求,并按照 yshurik 的建议通过子类化 QLabel 解决了它。附加代码的数量非常有限。这是一个有效的实现:

class CClickableLabel : public QLabel
{
   Q_OBJECT
public:
   CClickableLabel(QString text, QWidget *parent = 0) : QLabel(text, parent) {}
   ~CClickableLabel() {}

signals:
   void clicked();

protected:
   void mousePressEvent(QMouseEvent *event) { emit clicked(); }
};

创建实例CClickableLabel,使用setPixmap()设置图片并监听clicked()信号。这应该可以解决问题。

关于image - 是否可以放置图像而不是按钮,并使其可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354516/

相关文章:

python - 在 python opencv 中添加像素?

c++ - 在openCV中计算字符串的长度(以像素为单位)

c++ - Qt Override class properties on control deserealization

c - Gstreamer。对 `gst_video_overlay_set_window_handle' 的 undefined reference

python-3.x - 如何从 ubuntu 控制台运行几个 python 程序?

python - 紧固查询elasticsearch

javascript - 如何在后台加载图像?

悬停时 HTML 文本出现在图像上

c++ - qDebug() (UTF - 8) 的错误输出

python - Python 中的索引错误 : "string index out of range"