

闪退有五种可能
py 文件的默认开启程序不对,不能开启 py
默认开启程序执行出错执行出错
.py 执行出错
内存不足或错误
硬盘有问题
你的 console 上面显示的是 C:\windows\py.exe
一般是 C:\Users\xxxxxxx\AppData\Local\Programs\Python\Launcher\py.exe
也许是因为你有装了其他旧版本的 python, 造成执行错误.
重设一下你的档案开启设定
但是我的另一个文件可以双击运行
你能提供可运行, 但会闪退的主要可用的代码吗?
这样比较直接, 也容易找出问题。
# 从文件中加载UI定义
qfile_stats = QFile(r C:\Users\Administrator\Desktop\jsr\程序及数据\ui文件\R编解码.ui )
qfile_stats.open(QFile.ReadOnly)
qfile_stats.close()
# 从 UI 定义中动态 创建一个相应的窗口对象
# 注意:里面的控件对象也成为窗口对象的属性了
# 比如 self.ui.button , self.ui.textEdit
self.ui = QUiLoader().load(qfile_stats)
self.ui.button.clicked.connect(self.coding)
self.ui.pushButton.clicked.connect(self.decoding)
self.ui.pushButton_2.clicked.connect(self.PUSH_BUTTON2)
self.ui.pushButton_3.clicked.connect(self.PUSH_BUTTON3)
def coding(self):
replied = self.ui.textedit.toPlainText()
ip = self.ui.textedit1.toPlainText()
message1 = open(replied, r )
message2 = message1.read()
i3 = 0
receivelist1 = []
Message = message2.lower()
MESSAGE = Message.replace( \n , )
while i3 len(MESSAGE):
a1 = encode(MESSAGE[i3])
receivelist1.append(a1)
i3 += 1
if i3 == len(MESSAGE):
orderedlist = \n .join(receivelist1)
f = open(ip, w+ )
f.writelines(orderedlist)
f.close()
QMessageBox.about(self.ui, , 编码成功 )
def decoding(self):
replied = self.ui.textedit.toPlainText()
ip = self.ui.textedit1.toPlainText()
Filehandle = open(replied, r )
n = Filehandle.read()
Filehandle.close()
v = n.split( \n )
i2 = 0
receivelist = []
while i2 len(v):
a = decode(v[i2])
receivelist.append(a)
i2 += 1
if i2 == len(v):
orderedlist1 = .join(receivelist)
f = open(ip, w+ )
f.writelines(orderedlist1)
f.close()
QMessageBox.about(self.ui, , 解码成功 )
def PUSH_BUTTON2(self):
version = **********使用说明**********主要是你的代码用的是非阻塞窗口,
在 IDLE, 所有的变量,对象在执行完后,还会存在,不会主动清除 Python 的环境
在 CONSOLE/CMD 中,所有的变量,对象在执行完后,窗口会存在,但在 CONSOLE/CMD 会清除 Python 的环境,也会把窗口给关了,并不会保存 Python 的执行环境.
原来你少了最后一行 sys.exit (app.exec_()) 这样就 OK 了
谢谢大佬