Eastsheng's Wiki

Python写APP

2022-06-16 10:48:28

[toc]

PyWebIO

Electron

PyQt5 总结

PyQt5基础

1
2
3
4
5
6
7
8
9
10
11
pip install pyinstaller #install
pyinstaller -F -w -i ./imgs/fig.ico MDDP.py
# -F (-onefile)代表产生单个可执行文件;
# -D (--onedir)产生一个目录(包含多个文件)作为可执行程序
# -a (--ascii)不包含 Unicode 字符集支持
# -d (--debug)产生 debug 版本的可执行文件
# -w (-windowed,--noconsolc) 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
# -c (--nowindowed,--console)指定使用命令行窗口运行程序(仅对 Windows 有效)
# -o (DIR,--out=DIR)指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
# -p (DIR,--path=DIR)设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
# -n (NAME, --name=NAME)指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

打开文件/夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QFileDialog

class MyWindow(QtWidgets.QWidget):
def __init__(self):
super(MyWindow,self).__init__()
self.myButton = QtWidgets.QPushButton(self)
self.myButton.setObjectName("myButton")
self.myButton.setText("Test")
self.myButton.clicked.connect(self.msg)

def msg(self):
# directory1 = QFileDialog.getExistingDirectory(self, #当窗口非继承QtWidgets.QDialog时,self需替换成 None
# "选取文件夹",
# "./") #起始路径
# print(directory1)
fileName1, filetype = QFileDialog.getOpenFileName(self, #当窗口非继承QtWidgets.QDialog时,self需替换成 None
"选取文件",
"./",
"All Files (*);;Text Files (*.txt)") #设置文件扩展名过滤,注意用双分号间隔
print(fileName1,filetype)

# files, ok1 = QFileDialog.getOpenFileNames(self, #当窗口非继承QtWidgets.QDialog时,self需替换成 None
# "多文件选择",
# "./",
# "All Files (*);;Text Files (*.txt)")
# print(files,ok1)

fileName2, ok2 = QFileDialog.getSaveFileName(self, #当窗口非继承QtWidgets.QDialog时,self需替换成 None
"文件保存",
"./",
"All Files (*);;Text Files (*.txt)")

if __name__=="__main__":
import sys

app=QtWidgets.QApplication(sys.argv)
myshow=MyWindow()
myshow.show()
sys.exit(app.exec_())

设置QlineEdit不可编辑

1
self.density_ui.outputFolder.setEnabled(False)