我想在我的QMainWindow
中制作图片,所以当你点击它时,你有一个像qpushbutton
这样的信号翻译我用这个:
self.quit=QtGui.QPushButton(self)
self.quit.setIcon(QtGui.QIcon('images/9.bmp'))
但问题是我调整窗口qpushbutton
的大小,但不是他的图标,
答案 0 :(得分:1)
Qt不会为您拉伸图像 - 这种方式最好。我建议通过在保持它的布局中添加担架来保持按钮的大小不变。可调整大小的按钮在视觉上不是很吸引人,并且在GUI中是不常见的。
要制作可点击的图像,这是我能想到的最简单的代码:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class ImageLabel(QLabel):
def __init__(self, image, parent=None):
super(ImageLabel, self).__init__(parent)
self.setPixmap(image)
def mousePressEvent(self, event):
print 'I was pressed'
class AppForm(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.create_main_frame()
def create_main_frame(self):
name_label = QLabel("Here's a clickable image:")
img_label = ImageLabel(QPixmap('image.png'))
vbox = QVBoxLayout()
vbox.addWidget(name_label)
vbox.addWidget(img_label)
main_frame = QWidget()
main_frame.setLayout(vbox)
self.setCentralWidget(main_frame)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = AppForm()
form.show()
app.exec_()
只需将image.png
替换为您的图片文件名(QPixmap可接受的格式),然后就可以了。