Pycharm 自动关闭一个程序,python idle 不会
Pycharm automatically closes a program, python idle doesnt
当 运行 标准 python 空闲程序中的 tkinter 程序时 window 显示并且您可以与其交互,但 运行 中的相同程序pycharm 使程序 window 短暂闪烁然后关闭。
我假设它与主循环有关,您需要在代码中修改什么以防止程序在 运行 in pycharm
时自动关闭
我的代码摘录如下
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()
现在按预期工作
Python 有一个 -i
启动选项,它会导致 Python 在程序完成时进入交互式移动,而不是退出。 IDLE 执行代码就像在终端输入 python -i file.py
一样。这允许人们通过在 Shell.
中输入代码来交互式地探索实时图形用户界面
从这个问题和 flyingmeatball 引用的问题来看,PyCharm 似乎没有使用或模拟 -i
。所以必须用 root.mainloop 完成一个 tkinter 程序才能看到任何东西。除非在不破坏应用程序的情况下添加一个按钮来退出主循环,否则将无法与交互式语句进行交互。 (同样,这完全基于 SO 上发布的内容,因为我没有使用 PyCharm 的经验。)
当 运行 标准 python 空闲程序中的 tkinter 程序时 window 显示并且您可以与其交互,但 运行 中的相同程序pycharm 使程序 window 短暂闪烁然后关闭。
我假设它与主循环有关,您需要在代码中修改什么以防止程序在 运行 in pycharm
时自动关闭我的代码摘录如下
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()
现在按预期工作
Python 有一个 -i
启动选项,它会导致 Python 在程序完成时进入交互式移动,而不是退出。 IDLE 执行代码就像在终端输入 python -i file.py
一样。这允许人们通过在 Shell.
从这个问题和 flyingmeatball 引用的问题来看,PyCharm 似乎没有使用或模拟 -i
。所以必须用 root.mainloop 完成一个 tkinter 程序才能看到任何东西。除非在不破坏应用程序的情况下添加一个按钮来退出主循环,否则将无法与交互式语句进行交互。 (同样,这完全基于 SO 上发布的内容,因为我没有使用 PyCharm 的经验。)