python QT 图形界面编程 您所在的位置:网站首页 qt图形界面编程入门python python QT 图形界面编程

python QT 图形界面编程

2023-11-26 11:43| 来源: 网络整理| 查看: 265

教程网址 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 尝试用这个方法解决

发现不行,还是报错

 

 

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

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文件返回错误信息

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有