Pyqt按键功能实现

上文写到图形界面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

其中f4_ui是我的图形界面的py文件。
最后实现了两个界面:
Pyqt按键功能实现_第1张图片
Pyqt按键功能实现_第2张图片
源代码:coding

你可能感兴趣的:(python图形界面)