PyQt5是python中一个非常实用的GUI编程模块,功能十分强大。刚刚学完了Pyqt的编程,就迫不及待的写出了一个电子词典GUI程序。整个程序使用qt Desiner把整个gui界面做好,槽函数则自己写好的。电子词典实现了查询单词,查询历史记录,收藏和查看单词本的功能,另外为了是程序更加炫酷,还添加了一个启动界面。具体代码如下:
第一个为主程序代码,主要实现槽函数功能。
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QMainWindow
from PyQt5 import QtWidgets
from Ui_E_Dict_Main import Ui_E_Dictory
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import time, re
# 槽函数代码,运行程序需要运行本文件
class MainWindow(QMainWindow, Ui_E_Dictory):
"""
Class documentation goes here.
"""
def __init__(self, parent=None):
"""
Constructor
@param parent reference to the parent widget
@type QWidget
"""
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# 启动时休眠1秒
time.sleep(1)
# 按钮1 查找单词,把单词显示在textBrowser的同时,插入历史记录
@pyqtSlot()
def on_pushButton_clicked(self):
"""
Slot documentation goes here.
"""
# 单词查询,需要先有一个'dict.txt'文件,其中有大量的英文单词和注释
# 此处也可以先把'dict.txt'插入数据库,历史记录和单词本的插入和查询都可以直接操作数据库
# 不过数据库需要事先安装数据库,并建立相应的表,不好打包,不太方便
word=self.lineEdit.text()
f=open('dict.txt', 'r')
for line in f:
# 对字典文件的数据进行分析,拆解为适合显示的格式
l = re.split('[ ]+',line)
if l[0]==word:
interpret=' '.join(l[1:])
data='%s\n %s'%(l[0], interpret)
# interpret='%s: %s'%(l[0],' '.join(l[1:]))
self.textBrowser.setText(data)
# 当地时间
t1=time.localtime()
t2=time.asctime(t1)
#self.lineEdit.setText("")#lineEdit输入后