pyqtで隠しボタンのようなものを作りたい
pyqt5で画像をクリックしたときに動作する機能を付けたいです。そこで次のようなコードを書いてみました。
import sys
from PyQt5.QtWidgets import (QWidget,
QVBoxLayout, QHBoxLayout, QApplication, QPushButton, QLabel, QLineEdit)
from PyQt5 import*
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
font=QtGui.QFont("00コミック7",20)
self.setStyleSheet("background-color: #80ff80")
img=QPixmap("ぶりぶりざえもん.jpg")
btn=QPushButton("")
btn.setIcon(QIcon(img))
btn.setIconSize(QSize(337,400))
lbl=QLabel(self)
lbl.setPixmap(QPixmap(img))
layout=QVBoxLayout()
layout.addWidget(btn)
layout.addWidget(lbl)
self.setLayout(layout)
self.setWindowTitle('Absolute')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
これを実行すると次のようなGUIが出来ます。
上の画像はボタンにアイコンをセットしたものです。画像の背景はあらかじめキャンバスの背景と同じ色にしています。しかし、これではボタンであることが一目瞭然で分かってしまいます。下の画像はQLabelに画像をセットしたものです。これならばボタンであることはばれません。質問内容としては
1、ボタンの陰影をなくすにはどうすればよいか
2、ラベルをクリックしたときに関数を呼び出すことはできるか
の二つです。どちらかが出来れば隠しボタンが作れる気がしますが、やり方が分かりません。