我通過 Anaconda(更確切地說是 Spyder)在 python 中創建了一個程式,并使用 pyinstaller 從中創建了一個 .exe。簡單地說,當我通過 anaconda 提示運行它時,它可以作業,但是當我雙擊它時,它只是等待幾秒鐘然后關閉,什么也不做。
編碼:
import xlrd
from scipy.fft import fft
import numpy as np
import tkinter as tk
def main():
root =tk.Tk()
root.title("Data input window")
canvas1 = tk.Canvas(root, width = 620, height = 210, relief = 'raised')
canvas1.pack()
inputdata = tk.StringVar(root)
def getvalue():
loc = inputdata.get()
run(loc)
label1 = tk.Label(root, text='Copy file and paste here:')
label1.config(font=('helvetica', 14))
canvas1.create_window(310, 25, window=label1)
e1 = tk.Entry(root,textvariable = inputdata, width=100,fg="blue",bd=3,selectbackground='violet')
canvas1.create_window(310, 65, window=e1)
label2 = tk.Label(root, text='Only .xls files supported')
label2.config(font=('helvetica', 8))
canvas1.create_window(310, 105, window=label2)
button1 = tk.Button(root, text='Input data', fg='White', bg= 'dark green', height = 1, width = 10,command=getvalue)
canvas1.create_window(310, 180, window=button1)
root.mainloop()
s = input('Press X to exit')
return 0;
if __name__ == '__main__':
main()
run(loc) 基本上是當我按下開始時出現的 tkinter 小部件上的某個按鈕時需要運行的整個程式。即使我需要關閉程式的輸入,它仍然會自動關閉并且不會出現 tkinter 小部件。
我是初學者,如果這個問題很簡單,那么抱歉。
uj5u.com熱心網友回復:
當你雙擊它時,程式仍在運行,只是視窗一完成就關閉,所以它看起來不像。
當您從 cmd 運行時,您可以輕松看到任何輸出,因為此后視窗不會關閉。
但是該程式將在兩種情況下運行。
uj5u.com熱心網友回復:
當您雙擊它或從 cmd 運行它時,它會運行程式
但是當運行程式本身時(例如:雙擊它):完成后視窗將關閉(這是正常的)
從 cmd 運行它時:程式將完成,但因為您沒有運行該程式,而是運行了運行該程式的命令提示符,因此在邏輯上它不會關閉命令提示符
您可以通過放入您的腳本(在最后一行)來解決此問題:
input()
Wich 將確保程式在等待用戶輸入時不會自動關閉
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/357588.html
上一篇:樹視圖不適合框架
