Python+PyQt5: 如何在已有ui窗口里,使用QPainter画矩形?
大家好。
我是python2和PyQt5的新手。想请问一下,如何在已经调入的ui窗口里用QPainter画矩形?
UI窗口是用QT Creator做的。很简单就不上传图了。这个窗口里里只有一个按键,名为“pushButton”
程序目标是:按下pushButton,在当前窗口的里面画一个矩形。
下面是我的代码。运行后,UI窗口可以打开,但一点pushButton,窗口自动关闭。
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtGui, QtWidgets, uic, QtCore
qtCreatorFile = "F:\\Test.ui"
class MyApp(QtWidgets.QDialog):
def __init__(self):
super(MyApp, self).__init__()
uic.loadUi(qtCreatorFile, self)
self.show()
self.pushButton.clicked.connect(self.function_Plot_using_Canvas)
def function_Plot_using_Canvas(self):
self.QPainter.setBrush(QColor(0, 0, 0, 127))
self.QPainter.setPen(Qt.white)
self.QPainter.drawRect(50,50,50,50)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
sys.exit(app.exec_())
我是新手,自己试了N次,都没搞定。
所以想请高手帮忙指导一下。改一下代码。
感谢万分!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在QDialog类下 覆盖 paintevent就可以了。