PyQT6 (1)PyQt6使用

PyQT6 (1)PyQt6使用

 

窗口显示

import sys from PyQt6.QtWidgets import QApplication, QWidget def main(): app = QApplication(sys.argv) w = QWidget() w.resize(250, 200) w.move(300, 300) w.setWindowTitle('Simple') w.show() sys.exit(app.exec()) if __name__ == '__main__': main()
显示一个小窗口
notion image
 

贝塞尔曲线

''' Description: henggao_note version: v1.0.0 Date: 2022-03-27 15:06:25 LastEditors: henggao LastEditTime: 2022-03-27 15:47:24 ''' import sys from PyQt6.QtGui import QPainter, QPainterPath from PyQt6.QtWidgets import QWidget, QApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 380, 250) self.setWindowTitle('Bézier curve') self.show() def paintEvent(self, e): qp = QPainter() qp.begin(self) # qp.setRenderHint(QPainter.RenderHints.Antialiasing) self.drawBezierCurve(qp) qp.end() def drawBezierCurve(self, qp): path = QPainterPath() path.moveTo(30, 30) path.cubicTo(30, 30, 200, 350, 350, 30) qp.drawPath(path) def main(): app = QApplication(sys.argv) ex = Example() sys.exit(app.exec()) if __name__ == '__main__': main()
notion image
 

输入框

''' Description: henggao_note version: v1.0.0 Date: 2022-03-27 14:29:45 LastEditors: henggao LastEditTime: 2022-03-27 15:04:03 ''' from PyQt6.QtWidgets import (QApplication, QWidget, QPushButton, QLabel, QInputDialog, QTextBrowser) import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(500,500,500,550) self.setWindowTitle('y^2 = 2p(x+a)') # 方程必过(p/2,20)这个点,讨论x=-a的值与p; # 当a = 0 , p =20; # 当a=10,p = 10√3 - 10; self.lb1 = QLabel('说明:',self) self.lb1.move(20,20) self.lb2 = QLabel('年龄:',self) self.lb2.move(20,80) self.lb3 = QLabel('性别:',self) self.lb3.move(20,140) self.lb4 = QLabel('身高(cm):',self) self.lb4.move(20,200) self.lb5 = QLabel('基本信息:',self) self.lb5.move(20,260) self.lb6 = QLabel('0',self) self.lb6.move(80,20) self.lb7 = QLabel('18',self) self.lb7.move(80,80) self.lb8 = QLabel('男',self) self.lb8.move(80,140) self.lb9 = QLabel('175',self) self.lb9.move(120,200) self.tb = QTextBrowser(self) self.tb.move(20,320) self.bt1 = QPushButton('修改姓名',self) self.bt1.move(200,20) self.bt2 = QPushButton('修改年龄',self) self.bt2.move(200,80) self.bt3 = QPushButton('修改性别',self) self.bt3.move(200,140) self.bt4 = QPushButton('修改身高',self) self.bt4.move(200,200) self.bt5 = QPushButton('修改信息',self) self.bt5.move(200,260) self.show() """ 单击按钮连接对应的槽函数 """ self.bt1.clicked.connect(self.showDialog) self.bt2.clicked.connect(self.showDialog) self.bt3.clicked.connect(self.showDialog) self.bt4.clicked.connect(self.showDialog) self.bt5.clicked.connect(self.showDialog) def showDialog(self): sender = self.sender() sex = ['男','女'] """ 若我们按下按钮1,此时显示输入对话框。 第一个字符串是一个对话标题,第二个是对话框中的一个消息。 对话框返回输入的文本和布尔值。 如果我们点击Ok按钮,布尔值为true。 """ if sender == self.bt1: text, ok = QInputDialog.getText(self, '修改姓名', '请输入姓名:') if ok: self.lb6.setText(text) #如果我们按下ok键,则标签6的text值是从对话框接收的文本。 elif sender == self.bt2: text, ok = QInputDialog.getInt(self, '修改年龄', '请输入年龄:', min = 1) # 可以输入整数,最小值、最大值可以自己设定。 if ok: self.lb7.setText(str(text)) elif sender == self.bt3: text, ok = QInputDialog.getItem(self, '修改性别', '请选择性别:',sex) #可以输入选择项,待选放到列表中,这里的列表就是sex。 if ok: self.lb8.setText(text) elif sender == self.bt4: text, ok = QInputDialog.getDouble(self, '修改身高', '请输入身高:', min = 1.0)#可以输入浮点数,最小值、最大值可以自己设定,步长也可以自己设定。 if ok: self.lb9.setText(str(text)) elif sender == self.bt5: text, ok = QInputDialog.getMultiLineText(self, '修改信息', '请输入个人信息:') if ok: self.tb.setText(text) if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec())