python qt gui_python QT 图形界面编程

教程网址 www.python3.vip

求知讲堂2020python+人工智能 https://www.bilibili.com/video/av327814069/?spm_id_from=333.788.b_636f6d6d656e74.47

安装pyside2 在cmd里面敲这个:pip install pyside2 -i https://pypi.douban.com/simple就可以正常下载了。

结果:Successfully installed pyside2-5.15.0 shiboken2-5.15.0

P2

QApplication 提供了整个图形界面程序的底层管理功能,如:初始化,程序入口参数处理,用户事件(对界面的点击,输入,和拖拽)分发给各个对应的控件,官方对QApplication的说明https://doc.qt.io/qt-5/qapplication.html

必须在任何界面控件对象创建前创建他。

app = QApplication([]) 实例化一个空的;window = QMainWindow() 主窗口对象

window.resize(500, 400)窗口大小;window.move(300, 310)窗口移动到距离屏幕左侧300,上边界310

window.setWindowTitle('薪资统计');textEdit = QPlainTextEdit(window)纯文本窗口,挂在父窗口window下面

app.exec_() 死循环,等待用户的输入;button.clicked.connect(handleCalc) 让handleCalc(一个函数)来处理button被点击的操作。

info = textEdit.toPlainText();

QMessageBox.about(window,'统计结果',f'''薪资20000 以上的有:\n{salary_above_20k} \n薪资20000 以下的有:\n{salary_below_20k}''')弹出窗口信息

可以用class将初始化串口那些信息都封装起来,成一个方法,别忘记要初始化。 里面可以定义一个def __init__(self):方法用来初始化,初始化的变量前都加一个self.

P3-P5 开始利用QtDesigner来设计

1.如何引入ui文件

qfile_stats = QFile("Tongji.ui")

qfile_stats.open(QFile.ReadOnly)

qfile_stats.close()

self.window=QUiLoader().load(qfile_stats) #创建实例化对象window

QtDesigner的一些使用细节()

布局好后,可以使用layoutstretch来调整layout中空间的占比大小。因为layout布局好后是不能拖动来改变里面控件大小的(sizepolicy也可i)

颜色方案可以查看显示样式

2.https://blog.csdn.net/Dashi_Lu/article/details/89470039 讲了创建窗口时dialog、widget、mainwindow的区别,简单来说就是main。有菜单,一般用的都是widget

3.添加背景图片!

在设置的项目基类为Widget的时候,不能用setstylesheet设置widget的背景图片。

而要为整个窗口设置背景图片,可以向其中添加一个Frame覆盖这个窗口,这样就可以使用了

QFrame类族是带有边框部件的基类,它的子类有Qlabel,还有QLCDNumber,QSplitter,还有QStackedWidget,QToolBox和QAbstractScrollrea。

添加样式表的时候,要先选择类型!!!添加资源旁边那个小箭头

border-image:url();//拉伸填充  background:url();//平铺  background-image:url();//平铺

P如何用打包python可执行程序https://github.com/pyinstaller/pyinstaller/issues/4233官方github问答

要先pip install pyinstaller

然后pyinstaller httpclient.py --noconsole --hidden-import PySide2.QtXml

这样就会在当前目录下产生一个名为 dist 的目录。里面就有一个名为 httpclient 的目录,我们的可执行程序 httpclient.exe 就在里面。

--noconsole 指定不要命令行窗口;--hidden-import PySide2.QtXml 参数是因为这个 QtXml库是动态导入,PyInstaller没法分析出来,需要我们告诉它,

nltk_data文件夹的添加:

https://www.jianshu.com/p/ef6e23f8e2c1 更改路径

https://blog.csdn.net/u010167269/article/details/63684137 查找路径

我把文件夹放在了F:\python37\python37 不行,还是使用上面那个更改路径的方法,放在C:\Users\sanshui\AppData\Roaming下面才有效

报错解决方法大全https://blog.csdn.net/u014563989/article/details/80940321

https://blog.csdn.net/slc1112/article/details/104234076 少引入包的方法,可以改spec文件

pkg_resources.py2_warn 打包时要加这个包!!! 最后解决的方法是,在spec文件中hiddenimport中加如这个包,然后用pyinstaller ./kouzhao.spec

dll load faileed https://blog.csdn.net/j84491135/article/details/82658530 尝试用这个方法解决

发现不行,还是报错

2073669-20200808205234339-484927985.png

其实是打包的时候出现了很多warning找不到lib,解决

2073669-20200808221039993-32058529.png

https://blog.csdn.net/god_wen/article/details/88629865

https://blog.csdn.net/Rayn_Zhu/article/details/106454057

打包时用命令pyinstaller --paths F:\python37\python37\Lib\site-packages\shiboken2 kouzhao.py --hidden-import PySide2.QtXml --hidden-import pkg_resources.py2_warn 找到没找到的lib的路径,打包时指定好路径就好了

仍然会出现win32com 的module找不到,还有TypeError: expected str, bytes or os.PathLike object, not WindowsPath 但是打包出来的exe能用了!

虚拟python环境pipenv中打包更小

https://blog.csdn.net/RYOMARYOMA/article/details/106238214?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.opensearch_close&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.opensearch_close

pip install opencv-python,pyside2

https://blog.csdn.net/liuyingying0418/article/details/100152759疑问解答,我们可以在命令行执行.exe文件返回错误信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值