是否可以将图像放入 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/