概述
PyQt是python调动c++编写的Qt,查看类及方法可直接查询qt官网
地址 https://doc.qt.io/qt-5/qtwidgets-module.html
PyQt5.QtCore
包含了核心的非GUI功能,主要和时间、文件与文件夹、各种数据、流、URL、mime类文件,进城与线程一起使用
PyQt5.QtGui
包含了窗口系统、事件处理、2D图像、基本绘图、字体和文字类
PyQt5.QtWidgets
包含了一些列创建桌面应用应用的UI元素
控件:
1.按钮
PyQt5.QtWidgets.QtPushButton
例如:
1 #QAbstractButton -QPushButton的使用 2 from PyQt5.QtWidgets import QPushButton,QVBoxLayout,QWidget,QApplication 3 from PyQt5.QtGui import QIcon,QPixmap 4 5 import sys 6 7 class WindowClass(QWidget): 8 def __init__(self,parent=None): 9 super(WindowClass, self).__init__(parent) 10 self.btn_1=QPushButton("Btn_1") 11 self.btn_2=QPushButton("Btn_2") 12 self.btn_3=QPushButton("&DownLoad")#快捷建设置,ALT+大写首字母 13 self.btn_4 = QPushButton("Btn_4") 14 15 self.btn_1.setCheckable(True)#设置已经被点击 16 self.btn_1.toggle()#切换按钮状态 17 self.btn_1.clicked.connect(self.btnState) 18 self.btn_1.clicked.connect(lambda :self.wichBtn(self.btn_1)) 19 20 #self.btn_2.setIcon(QIcon('./image/add_16px_1084515_easyicon.net.ico'))#按钮按钮 21 self.btn_2.setIcon(QIcon(QPixmap('./image/baidu.png'))) 22 self.btn_2.setEnabled(False)#设置不可用状态 23 self.btn_2.clicked.connect(lambda :self.wichBtn(self.btn_2)) 24 25 self.btn_3.setDefault(True)#设置该按钮式默认状态的 26 self.btn_3.clicked.connect(lambda :self.wichBtn(self.btn_3)) 27 28 self.btn_4.clicked.connect(lambda :self.wichBtn(self.btn_4)) 29 30 self.resize(400,300) 31 layout=QVBoxLayout() 32 layout.addWidget(self.btn_1) 33 layout.addWidget(self.btn_2) 34 layout.addWidget(self.btn_3) 35 layout.addWidget(self.btn_4) 36 37 self.setLayout(layout) 38 39 def btnState(self): 40 if self.btn_1.isChecked(): 41 print("Btn_1被单击") 42 else: 43 print("Btn_1未被单击") 44 def wichBtn(self,btn): 45 print("点击的按钮是:" , btn.text()) 46 47 if __name__=="__main__": 48 app=QApplication(sys.argv) 49 win=WindowClass() 50 win.show() 51 sys.exit(app.exec_())