上文写到图形界面ui文件转成可编辑的py文件,附链接:Py图形界面
下面记录使用到的pushButton、spinBox、checkBox、textBrowser、lineEdit的用法。
首先初始化图形界面窗口,
class MainWindow(QWidget, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
关联pushbutton点击后发生的事件:
class MainWindow(QWidget, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.on_pushButton_clicked)
可以有多个pushButton,确定好与图形界面中各个button的对应名称就可以:
class MainWindow(QWidget, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.openfile)
self.pushButton1.clicked.connect(self.next_question)
self.pushButton2.clicked.connect(self.submit)
写事件的实现函数:
class MainWindow(QWidget, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.on_pushButton_clicked)
def on_pushButton_clicked(self):
……
多个按钮:
class MainWindow(QWidget, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.openfile)
self.pushButton1.clicked.connect(self.next_question)
self.pushButton2.clicked.connect(self.submit)
def openfile(self):
……
def next_question(self):
……
def submit(self):
……
获取lineEdit中的信息,得到的是str类型,如果想要得到的是数字,需要做类型转换:
XX = self.lineEdit.text()
清空lineEdit中的信息:
self.lineEdit_2.clear()
获取spinBox中的数字:
num1 = self.spinBox.text()
num1 = int(num1)
检查checkBox的状态,编写相应操作:
check_state = self.checkBox.checkState()
if check_state == QtCore.Qt.Checked:
ope = 3
elif check_state == QtCore.Qt.Unchecked:
ope = 1
打开本地文件:
def openfile(self):
# openfile_name的值形如('F:/test.txt', '文本文档(*.txt)')
#后续需要使用路径的时候需要取openfile_name[0]
openfile_name = QFileDialog.getOpenFileName(self, '选择文件', '', '文本文档(*.txt)')
清空textBrowser里显示的内容:
self.textBrowser.clear()
textBrowser显示信息,括号里的内容自行设定,是str就行:
self.textBrowser.setText(st[i][:-1])
我的代码里还涉及到了获取时间:
import time
time_start = time.time()
主函数的写法:
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
引入的包有:
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import QtCore
from f4_ui import Ui_MainWindow