Draw Hello World in random colour at random coords
#!/usr/bin/env python3
import random
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
import sys
class MyWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.w, self.h = 680, 480
self.setFixedSize(self.w,self.h)
self.pixmap = QPixmap(self.size())
self.pixmap.fill(Qt.white)
self.painter = QPainter()
self.text = "Hello World!"
def paintEvent(self, event: QPaintEvent):
with QPainter(self) as painter:
painter.drawPixmap(0, 0, self.pixmap)
def mousePressEvent(self, event: QMouseEvent):
self.drawSomeText()
def drawSomeText(self):
x0 = random.randrange(0,self.w-100)
y0 = random.randrange(0,self.h-100)
r,g,b,a = [random.randrange(0,256) for i in range(4)]
self.penColor = QColor(r,g,b)
r,g,b,a = [random.randrange(0,256) for i in range(4)]
self.brushColor = QColor(r,g,b,a)
self.painter.begin(self.pixmap)
self.painter.setRenderHints(QPainter.Antialiasing, True)
# paint here
p = self.painter
f = p.font()
f.setPixelSize(64)
p.setFont(f)
p.setPen(self.penColor)
p.drawText(x0,y0,self.text)
self.painter.end()
self.update()
class MainWindow(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.widget = MyWidget()
self.setCentralWidget(self.widget)
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())