我知道有很多人都在同一个方向前进,但我找不到解决办法。很多线程即将关闭GUI,但仍在运行python代码,这是我不希望看到的。但请看下面我的问题:

我目前使用的是python2.7和windows7。我正在开发一个程序来分析我从传感器读取的数据。在我完成我的python程序后,我用cx\u freeze冻结它,以便在没有python或没有matplotlib的pc上执行它。我的问题是我想添加一个退出按钮,关闭我的应用程序。问题是,我尝试了3种不同的可能性,见下文:import Tkinter

import numpy as np

import matplotlib

from matplotlib import pyplot as plt

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg

import globals

import data2plot

#from __builtin__ import file

globals.init()

def plot(x, aw,temperature,water):

#function to plot via matplotlib in the gui

#global file and if someone refresh before load data, default data is test.csv

file = "test"

#Version1

def close_window():

sys.exit()

#Version2

def close_window2():

root.quit()

#Version3

def close_window3():

root.destroy()

# GUI

root = Tkinter.Tk()

draw_button = Tkinter.Button(root, text="Quit", command = close_window)

draw_button.grid(row=1, column=2)

draw_button = Tkinter.Button(root, text="Quit2", command = close_window2)

draw_button.grid(row=1, column=3)

draw_button = Tkinter.Button(root, text="Quit3", command = close_window3)

draw_button.grid(row=1, column=4)

# init figure with the 3 different values and axes

fig = matplotlib.pyplot.figure()

canvas = FigureCanvasTkAgg(fig, master=root)

canvas.get_tk_widget().grid(row=0,column=1)

toolbar = NavigationToolbar2TkAgg(canvas, root)

toolbar.grid(row=1,column=1)

#starts loop for the figure

root.mainloop()

我已经读到,通常我应该使用根。退出()选项。但是唯一能正常工作的按钮是第三个有错误的按钮根目录。销毁(). 问题是如果我使用第三个按钮,GUI正在关闭,但程序仍在运行?我是否也退出了主循环,但我认为我退出主循环时根。退出()? 在

另外两个按钮显示一条错误信息,程序在Windows7上崩溃了,但至少整个程序都关闭了。我也试着像一些人建议的那样根。退出没有括号,但根本不起作用。在

两个按钮的错误消息是:Fatal Python error: PyEval_RestoreThread: NULL tstate

This application has requested the Runtime to terminate it in an

unusual way. Please contact the application's support team for more

information.

现在我的问题是如何确保我使用我的GUI,绘制一些东西等等,如果我按下quit按钮,GUI就会关闭,整个程序也会关闭?在

非常感谢!最大

python设置tk退出_退出tkinter gui相关推荐

  1. python modbus tk 库_如何使用modbus tk rtu(python)设置简单的从机和主机

    我想通过modbus协议在树莓pi(从机)和pc(主机)之间建立通信.目前,我正在使用 modbus-tk (python)设置通信协议. 问题是主设备无法从从设备读取寄存器我能知道我的代码有什么问题 ...

  2. python设置环境变量_小白Python进行中

    一.安装 安装包的下载 在官网进行下载,我选用Python3.8.0. Welcome to Python.org​www.python.org 安装 安装的时候可以借鉴该视频. Windows 10 ...

  3. python设置tk退出_Python3 tkinter基础 Tk quit 点击按钮退出窗体

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  4. python使用tkinter可以在多个操作系统_在tkinter GUI中使用多个窗口

    我正在用python构建一个非常基础的电影推荐GUI,并且我试图在选择一个流派时让它打开一个新窗口.我可以打开窗口,但我有困难分配我的单选按钮到一个新的类.我希望能够选择一个流派,点击下一步,然后根据 ...

  5. python设置剪辑版_一文教会你用Python实现最有效的剪切板实时监控

    前言 上网浏览网页的时候,看见好的内容免不了要使用复制粘贴,但是我们看到的内容.心里想要的内容和实际粘贴后的内容往往不一致.数据的获取始于复制,终于粘贴,那么问题来了,在这中间系统做了哪些操作,我们怎 ...

  6. python设置label的位置_Python3 tkinter基础 Label pack 设置控件在窗体中的位置

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  7. python 小说下载工具_使用tkinter打造一个小说下载器,想看什么小说,就下什么...

    前言 今天教大家用户Python GUI编程--tkinter 打造一个小说下载器,想看什么小说,就下载什么小说 先看下效果图 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkint ...

  8. Python设置画布大小_Python 之 Tkinter Canvas画布

    定义: Canvas画布:画布控件用于将结构化图形的Python应用.主要用于绘制图表和曲线图. 语法格式: 可能选项的列表如下 选项 描述 bd 表示该边界的宽度,默认的宽度是 2  bg 它代表了 ...

  9. python输出文本框_让tkinter在文本框中显示输出

    我试图创建一个小的GUI,当用户在文本框中输入一个数字时,它显示(作为标签)是否是素数.让tkinter在文本框中显示输出 我目前"工作"的代码(因为没有错误显示),但标签不会改变 ...

最新文章

  1. javascript之iframe
  2. 如何用matlab读取npz文件,Python Numpy中数据的常用的保存与读取方法
  3. fragment中listview触发事件setOnItemClickListener不好使
  4. 二叉树的基本特性和二叉树的几种基本操作的机制_关于二叉树,你该了解这些!...
  5. 启明云端分享|PX30核心板 怎么烧录
  6. Promise.all 处理error
  7. 超神!卡内基博士ImageNet夺冠后转战NLP!
  8. Javascript加号的作用、数据类型、输入用户的输入第四课
  9. 关于bootstrap--排版(标题、强调、背景、插入符等)
  10. 【数字电路基础】——逻辑门电路
  11. 海德汉heidenhain开放式光栅尺AKLIDA27/28/47/48选型资料
  12. HTML5 怎么自定义字体
  13. Typora配置PicGo提示Failed to fetch问题解决
  14. 解决eclipse桌面快捷方式打不开的问题
  15. NES模拟器源码阅读
  16. 2015英语命题规律
  17. 小强升职记 思维导图
  18. limits.conf 配置不生效问题排查
  19. Python小炼(1):初识Python
  20. C#调用斑马打印机打印条码标签(支持COM/LPT/USB/ZPL/EPL/Bitmap)

热门文章

  1. 【C语言】数据结构C语言版 实验3 带头结点的单链表
  2. 2019年税收分类编码_通过分析112,654个编码测试,我们了解了2019年开发人员的招聘趋势...
  3. 在Raspberry Pi上设置Docker的简单方法
  4. app软件测试是否强制升级_这些测试方法对于任何软件都必须是强制性的
  5. 使用Python在Twitter上进行基本数据分析
  6. 预防xml注入漏洞攻击_预防性编程-漏洞发生前如何修复
  7. java 获取classpath下文件多种方式
  8. Python基础入门知识点——Python中的异常
  9. Python网络爬虫开发实战使用XPath,xpath的多种用法
  10. Python 实现新冠病毒分布实时追踪