在标准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()
作品现在预期
2016-03-22
LesM76
+0
你看这里吗? http://stackoverflow.com/questions/27637197/tkinter-window-closes-automatically-after-python-program-has-run-in-pycharm –
+0
我做了,但没想到它与我的程序有关。我有一个带有数据输入框和搜索按钮的GUI窗口等等。我打开被证明是错误的,但是:) –
+0
所以你在事件处理程序(如果有的话)之后添加root.mainloop()?结果是什么? –