我是靠谱客的博主 调皮大象,最近开发中收集的这篇文章主要介绍Pyqt5, 在子窗口子控件中绘图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在QtWidgets中进行

1、qt窗口代码

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(401, 318)
        self.stackedWidget = QtWidgets.QStackedWidget(Form)
        self.stackedWidget.setGeometry(QtCore.QRect(10, 10, 381, 291))
        self.stackedWidget.setStyleSheet("")
        self.stackedWidget.setFrameShape(QtWidgets.QFrame.Panel)
        self.stackedWidget.setObjectName("stackedWidget")


        self.retranslateUi(Form)
        self.stackedWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "zikong"))

2、主程序和绘图类

import sys
from PyQt5.QtGui import *
from zikong import Ui_Form
from PyQt5.Qt import *


class HuiTu(QWidget, Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.area = PaintArea()
        self.stackedWidget.addWidget(self.area)


class PaintArea(QWidget):
    def __init__(self):
        super(PaintArea, self).__init__()
        # self.setWindowTitle("绘图窗口")
        self.setPalette(QPalette(Qt.gray))
        self.setAutoFillBackground(True)
        self.setMinimumSize(500, 400)
        self.pen = QPen()
        self.brush = QBrush()

    def paintEvent(self, QPaintEvent):
        p = QPainter(self)
        #   画笔
        p.setPen(self.pen)
        #   填充
        p.setBrush(self.brush)
        #   绘制目标点坐标
        rect = QRect(50, 100, 200, 100)
        p.drawLine(rect.topLeft(), rect.bottomRight())
        print(rect.topLeft(), rect.bottomRight())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    form = HuiTu()
    form.show()
    # a = PaintArea()
    # a.show()
    app.exec_()

效果图

注:绘图可以在

QWidget中绘图,也可以在QMainWindow 中绘图,

所绘图的控件中必须包含 .addWidget()方法,如

QStackedWidget和 各种 Layout

最后

以上就是调皮大象为你收集整理的Pyqt5, 在子窗口子控件中绘图的全部内容,希望文章能够帮你解决Pyqt5, 在子窗口子控件中绘图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部