Этот пример рисует эллипс в главном окне. Я хотел бы нарисовать эллипс во вторичном окне, как только я нажму кнопку в главном окне. Это, однако, без необходимости создания другого класса. Я пытался, но не могу.
Еще один вопрос: можно ли вставить геометрическую фигуру в макет коробки?
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QDialog
from PyQt5 import QtGui
from PyQt5.QtGui import QPainter,QBrush,QPen
from PyQt5 import QtCore
class Window(QMainWindow):
def __init__(self):
super().__init__()
title = "Main Window";left=100;top=100;width=1200;height=800
self.setWindowTitle(title)
self.setGeometry(left,top,width,height)
self.Create_Button()
self.show()
def Create_Button(self):
button = QPushButton("Click", self)
button.setGeometry(30,100,200,80)
button.clicked.connect(self.SecondWin)
def paintEvent(self,event):
painter = QPainter(self)
painter.setPen(QPen(QtCore.Qt.red,6,QtCore.Qt.SolidLine))
painter.setBrush(QBrush(QtGui.QColor(45,171,200),QtCore.Qt.SolidPattern))
painter.drawEllipse(550,150,300,600)
def SecondWin(self,event):
mydialog = QDialog(self)
mydialog.setWindowTitle("Second Window")
mydialog.setGeometry(400,200,600,300)
mydialog.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())