pyqt5程序,pyqt5工具
本篇博客主要介绍pyqt5的一些控件操作,大体列如下:
(1)获取入条的内容:expr=lineEdit.text()
(2)向QLineEdit、QTextEdit等写入内容:lineEdit.setText(string )
(3)检查检验盒是否被勾选:checkBox.isChecked(),返回布尔逻辑对还是错
(4)设置控件是否使能lineEdit.setEnabled(True)或者linEdit.setEnabled(False),True是使能控件,假的是失能控件
一、在qtdesigner设计用户界面界面
注意用户界面里面各个控件的名称自己作相应修改,等下写代码的时候要对应上
二、编写代码
# -*-编码:utf-8 -*-
使用pyqt5结合科学计算求解积分
主要是练习一些控件的使用,如QLineEdit、QCheckBox等
未完善:实现数值积分
导入操作系统
导入系统
从PyQt5导入QtCore、QtGui、uic
来自PyQt5 .QtCore导入QCoreApplication
来自PyQt5 .QtCore导入
来自PyQt5 .QtWidgets导入QApplication,QWidget,QMainWindow,QMessageBox
来自PyQt5 .QtWidgets导入QFileDialog,QAction,qApp
来自PyQt5 .模块进口QIcon
将症状作为服务点导入
从交响乐导入正弦,余弦,对数,指数,正切,正切,正弦,余弦
来自sympy.abc导入*
# OS。chdir(r d:\ Files \ python \ GUI \ pyqt )
# 使用的使用建立的用户界面文件路径
qtCreatorFile= ./integrate_ui.ui
# 使用联合国际学院加载
Ui_MainWindow,qtbase class=UIC。loadui类型(qtCreatorFile)
类MyApp(QMainWindow,Ui_MainWindow):
def __init__(self):
主窗口.__init__(self)
Ui_MainWindow__init__(self)
超级()。__init__()
self.initUI() #调用自定义的用户界面初始化函数initUI()
def initUI(self):
初始化窗口的用户界面
self.setupUi(self)
self.setWindow(简单音乐播放器)
self.setWindowIcon(QIcon(./叶子。png )#设置图标,linux下只有任务栏会显示图标
self.initMenuBar() #初始化菜单栏
self.initToolBar() #初始化工具栏
self.initButton() #初始化按钮
自我。checkboxint。状态已更改。连接(自我。changestatus)
# 控制控件的使能和失能
自我。checkboxint。设置启用(真)
自我。lineeditfrom。设置启用(假)
自我。lineeditto。设置启用(假)
self.show() #显示
def initMenuBar(self):
初始化菜单栏
自我。动作退出。已触发。连接(qapp。退出)#按下菜单栏的出口按钮会退出程序
self.actionExit.setStatusTip(退出程序) # 左下角状态提示
自我。动作退出。设置快捷方式( Ctrl Q )#添加快捷键
actionFileOpen=QAction(Open ,self)
actionFileOpen.setStatusTip(打开文件资源管理器)
actionfileopen。设置快捷方式(“Ctrl O”)
actionfileopen。已触发。连接(自我。fileopen _ callback)
自我。菜单文件。addaction(actionFileOpen)
def fileopen_callback(self):
全局文件名1 #设置全局
及格
# fileName1,filetype=qfile对话框。获取打开的文件名(自身、
# 选取文件,
# /home/kindy/音乐,
# 所有文件(*);音乐文件(* .MP3);文本文件(*。txt)) #设置文件扩展名过滤,注意用双分号间隔
# self.lineEdit.setText(文件名1)
def initToolBar(自身):
初始化工具栏
创建一个动作实例exitAct,然后添加到设计师已经创建的默认的工具栏工具栏里面
self.toolBar=self.addToolBar("退出")
exitAct=QAction(QIcon(./exit.png )、 exit ,self)
exitAct.setShortcut(Ctrl Q )
退出tact。已触发。连接(qapp。退出)
self.toolBar.addAction(exitAct)
定义初始按钮(自身):
初始化按钮
BTN浏览:浏览文件浏览器
btnPlay:使用简介及安装模块开始播放音乐
停止播放音乐
自我。BTN算算。点击了。连接(自我。运行)
def fileOpen_callback(self):
全局文件名1 #设置全局
fileName1,filetype=qfile对话框。获取打开的文件名(自身、
选取文件,
/home/kindy/音乐,
所有文件(*);音乐文件(*.mp3)) #设置文件扩展名过滤,注意用双分号间隔
self.lineEdit.setText(文件名1)
定义关闭事件(自身,事件):
reply=qmessagebox。问题(自我,“消息”,
"你确定要退出吗,",QMessageBox .是的
QMessageBox .不,是QMessageBox .否)
if reply==QMessageBox .是:
event.accept()
否则:
event.ignore()
定义运行(自身):
首先检查定积分选项是否勾选,如果是,调用sympy.integrate(expr,(var,a,b))
否则,调用sympy.integrate(expr,var)。请注意,var属于sympy.symbol类型
不完整:数值积分用于计算积分结果。
如果。checkbox int.ischecked (): #如果选中了定积分
expr=str(self . lineeditexpr . text())#获取表达式
var=str(self . lineeditvar . text())#获取整型变量
a=self . lineeditfrom . text()# integral start
B=self.lineeditTo.text() #积分结束
结果=sp。integrate (expr,(var,a,b)) #使用sympy求解
self . texteditshow . settext( function expr 在区间[{:},{:}]定积分的结果为:。格式(a,b)字符串(结果))
否则:
expr=str(self . lineeditexpr . text())
var=str(self.lineeditVar.text())
var=sp .符号(var)
result=sp.integrate(expr,var)
self . texteditshow . settext( function expr 的不定积分结果为: str(result))
def changeStatus(自身,状态):
如果state==Qt。选中:#如果选中,使用具有上限和下限的积分。
self . lineeditfrom . set enabled(True)
self . lineeditto . set enabled(True)
否则:#否则
self . lineeditfrom . set enabled(False)
self . lineeditto . set enabled(False)
if __name__==__main__ :
app=QA application(sys . argv)
window=MyApp()
sys.exit(app.exec_())
代码有点长,有空放在github里。暂时先放在那里,实现的效果如下:
总结:还是要多读Qt的帮助文档。pyqt的python版本没有专门的文档,过去官网链接的文档也是C版本。其实C里面的文档都是一样的。以复选框的isChecked()方法为例。在帮助文档中直接搜索QCheckBox不会发现任何东西,但是注意到它继承了QBSTRACTBUTTON。点击QBSTRACTBUTTON,可以在公共函数中找到:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。