p.s. Nachdem das Programm in die App -Ausführung eingeleitet wurde, klicke ich Fenster direkt im Fenster, um das Fenster auf der rechten Seite meines Fensters zu klemmen (um die Größe des Ereignisses manuell das Ereignis auszulösen).
Code: Select all
import sys
from PyQt6.QtWidgets import (
QApplication,
QMainWindow,
QWidget,
QVBoxLayout,
QLabel,
)
from PyQt6.QtGui import QPainter, QColor
from PyQt6.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
print('--------MyWidget Init Start ')
super().__init__()
self.init_ui()
print('--------MyWidget Init End ')
def init_ui(self):
print('--------MyWidget Init UI Start ')
self.setGeometry(100, 100, 300, 200)
layout = QVBoxLayout()
self.setLayout(layout)
label = QLabel("This is a simple Qt application ")
layout.addWidget(label)
print('--------MyWidget Init UI End ')
def paintEvent(self, event):
print('--------MyWidget Paint Start ')
painter = QPainter(self)
painter.setPen(Qt.GlobalColor.blue)
painter.drawLine(0, 0, 200, 100) # Example line drawing
print('--------MyWidget Paint End ')
class MainWindow(QMainWindow):
def __init__(self):
print('----MainWindow Init Start ')
super().__init__()
self.init_ui()
print('----MainWindow Init End ')
def init_ui(self):
print('----MainWindow Init UI Start ')
self.setWindowTitle("Simple Qt Example ")
self.setGeometry(100, 100, 600, 400)
widget = MyWidget()
self.setCentralWidget(widget)
print('----MainWindow Init UI End ')
if __name__ == "__main__":
print('Initialize Application ')
app = QApplication([])
print('Initialize MainWindow ')
window = MainWindow()
print('Show MainWindow ')
window.show()
print('Resizing Window ')
# window.resizeEvent(None) # removed per comment from musicamante
print('Going for App execution ')
sys.exit(app.exec())
PyCharm/DOS Command prompt
Version of PyQt6
Error messages appear
DOS Prompt
6.9.0
Yes
PyCharm
6.9.0
nein < /td>
< /tr>
dos Eingabeaufforderung < /td>
6.8.1
nein < /td> < /tr>
Pycharm < /td>
Pycharm < /td> < />
/>6.8.1
No
DOS Prompt
6.8.0
No
pycharm < /td>
6.8.0
no < /td>
< /tr>
< /tbody>
< /table> < /div>
< />
Initialisieren Sie Mainwindow
---- MainWindow init starten
---- MainWindow init ui starten
--------- /> -------- MyWidget init ende
---- MainWindow init ui Ende
---- MainWindow init ende />--------MyWidget Paint End
"Error Messages Appear" = "Yes" scenario Output
Initialize Application
Initialize MainWindow
----MainWindow Init Start
----MainWindow Init UI Start
-------- MyWidget init starten
-------- MyWidget init ui starten
-------- MyWidget init ui Ende
--------- />
MAINWINDOW
Fenster
für App-Ausführung
-------- MyWidget-Farbe Start
-------- Mywidget Paint End
qpainter: /> Qpainter :: setCompositionMode: Maler nicht aktiv
qpainter :: fillRect: Maler nicht aktiv
qpainter :: setCompositionMode: Maler nicht aktiv
qpainter :: paintwirkter
qpainter: /> Qpainter :: DrawRects: Maler nicht aktiv
qpainter :: setPen: Maler nicht aktiv
Qpainter :: setfont: Maler nicht aktiv
qpainter: /> Qpainter :: setPen: Maler nicht aktiv
qpainter :: setPen: Maler nicht aktiv
Qpainter :: setBrush: Maler nicht aktiv
Qpainter: /> Qpainter :: setBrush: Maler nicht aktiv
qpainter :: setpen: Maler nicht aktiv
Qpainter :: SetPen: Maler nicht aktiv
Qpainter: /> Qpainter :: setCompositionMode: Maler nicht aktiv
qpainter :: fillRect: Maler nicht aktiv
qpainter :: setCompositionMode: Maler nicht aktiv
qpainter :: paintwirkter
qpainter: /> Qpainter :: DrawRects: Maler nicht aktiv
qpainter :: setPen: Maler nicht aktiv
Qpainter :: setfont: Maler nicht aktiv
qpainter: /> Qpainter :: setPen: Maler nicht aktiv
qpainter :: setPen: Maler nicht aktiv
Qpainter :: setBrush: Maler nicht aktiv
Qpainter: /> Qpainter :: setBrush: Maler nicht aktiv
qpainter :: setPen: Maler nicht aktiv
Qpainter :: setpen: Maler nicht aktiv
qpainter: Paint End
--------MyWidget Paint Start
--------MyWidget Paint End
--------MyWidget Paint Start
--------MyWidget Paint End
--------MyWidget Paint Start
--------MyWidget Paint End
------->