''' ORM Object Relationship Mapping 对象关系映射 '' class User: def __init__(self,id,name,pwd): self.id = id self.name = name self.pwd = pwd class UserDB: def find_all(self): # 查询user表中的所有数据,并封装为一个列表 db = mysql.connector.connect(host='localhost',user='root',password='123456',port='3308',database='jy40') cursor = db.cursor() cursor.execute('select * from user') result = cursor.fetchall() print(result) users = [] for record in result: # 将数据库中的一条记录,封装为一个user对象 user = User(record[0],record[1],record[2]) users.append(user2) return users from PyQt5.QtWidgets import QApplication,QWidget import sys if __name__ == "__main__": app = QApplication(sys.argv) window = QWidget() window.resize(300,200) window.move(300,300) window.setWindowTitle('测试窗口') window.show() sys.exit(app.exec_()) from PyQt5.QtWidgets import QApplication,QWidget from PyQt5.QtGui import QIcon import sys class Example(QWidget): def __init__(self): # 调用父类的构造方法 super().__init__() self.initUI() def initUI(self): # 设置窗口大小和位置 self.setGeometry(300,300,300,200) # 设置窗口标题 self.setWindowTitle('图标') # 修改图标 self.setWindowIcon(QIcon(r'python\dey08\f9.png')) # 显示窗口 self.show() if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QToolTip from PyQt5.QtGui import QFont import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 设置提示字体 pixel px QToolTip.setFont(QFont('微软雅黑',10)) # 创建提示 self.setToolTip('这是一个<b>QWidget</b>组件') # 创建按钮 btn = QPushButton('按钮',self) # 创建提示 btn.setToolTip('这是一个<i>按钮</i>组件') # 移动按钮位置 btn.move(100,100) self.setGeometry(300,300,300,300) self.setWindowTitle('提示信息') self.show() if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) '''☆☆☆☆☆''' from PyQt5.QtWidgets import QApplication,QWidget,QPushButton from PyQt5.QtCore import QCoreApplication import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建按钮 btn = QPushButton('按钮',self) # 移动按钮位置 btn.move(100,100) # 给按钮绑定功能 # btn.clicked.connect(self.f) btn.clicked.connect(QCoreApplication.instance().quit) self.setGeometry(300,300,300,200) self.setWindowTitle('给按钮绑定功能') self.show() def f(self): print('测试按钮功能!') if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) from PyQt5.QtWidgets import QApplication,QWidget,QMessageBox import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300,300,300,300) self.setWindowTitle('消息窗口提示') self.show() ''' 事件 event closeEvent ''' # 重写QWidhet的closeEvent()方法 # 该方法在关闭事件发生时会自动调用 def closeEvent(self,event): # print('closeEvent被调用了...') # 弹出消息框并接收用户的选择 reply = QMessageBox.question(self,'Message','确认退出?',QMessageBox.Yes | QMessageBox.No) # 根据用户的选择进行处理 if reply == QMessageBox.Yes: event.accept() # 接受事件 else: event.ignore() # 忽略事件 if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ''' 组件的定位方式: 绝对定位,当调整窗口时,组件的大小和位置不变 框式布局, ''' from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QHBoxLayout,QVBoxLayout import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建2个按钮 ok = QPushButton('ok') cancel = QPushButton('Cancel') # 创建水平布局 hbox = QHBoxLayout() hbox.addStretch(4) hbox.addWidget(ok) hbox.addWidget(cancel) hbox.addStretch(1) # 创建垂直布局 vbox = QVBoxLayout() vbox.addStretch(5) vbox.addLayout(hbox) vbox.addStretch(1) self.setLayout(vbox) self.setGeometry(300,300,300,300) self.setWindowTitle('框式布局') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
|