在標準python空閒程序中運行tkinter程序時,窗口會顯示,您可以與之交互,但在pycharm中運行相同的程序會導致程序窗口短暫閃爍然後關閉。Pycharm會自動關閉一個程序,python idle does not
我假設它與主循環做,在pycharm運行時,你有什麼需要在你的代碼,以防止程序自動關閉修改
從我的代碼的excert如下
from tkinter import *
import tkinter
from tkinter import Text, Tk, ttk
import csv
from csv import DictReader
import sys
import os
class GUI:
def __init__(self, root):
....
def main():
global label
root = Tk()
root.title(" My program")
root.geometry("550x330+600+300")
mycolor = '#%02x%02x%02x' % (39, 39, 39) # background color
root.configure(bg=mycolor)
gui = GUI(root)
main()
更新:經過一段時間的忙碌後,部分原因是由於我的代碼不是最好的(新手),我已經設法讓它工作。對於任何有興趣的繼承人的修改:
from tkinter import *
import csv
from csv import DictReader
import sys
import os
class GUI:
def __init__(self, master):
self.master = master
master.title(" My Programs")
master.geometry("550x330+600+300")
master.iconbitmap('logo.ico')
mycolor = '#%02x%02x%02x' % (39, 39, 39) # background color
master.configure(bg=mycolor)
.......大部分上面的程序設置的東西,但顯示 主代碼這裏
root = Tk()
gui = GUI(root)
root.mainloop()
作品現在預期
你看這裏嗎? http://stackoverflow.com/questions/27637197/tkinter-window-closes-automatically-after-python-program-has-run-in-pycharm – flyingmeatball
我做了,但沒想到它與我的程序有關。我有一個帶有數據輸入框和搜索按鈕的GUI窗口等等。我打開被證明是錯誤的,但是:) – LesM76
所以你在事件處理程序(如果有的話)之後添加root.mainloop()?結果是什麼? – flyingmeatball