【问题标题】:VPython destroys all tkinter windowsVPython 销毁所有 tkinter 窗口
【发布时间】:2016-10-09 12:51:53
【问题描述】:

我正在尝试制作一个使用 VPython 进行可视化的简单 GUI 应用程序。我这样做是成功的。但是,当我关闭 VPython 窗口时,我的所有其他窗口(我使用 Tkinter 制作的)也会关闭,从而结束整个程序的进程。我已经尝试过 scene.exit = False 但 id 似乎不起作用。

请有人帮助我

from Tkinter import *
import Tkinter as tk
from visual import *
import serial

root = Tk()
root.wm_title("MultiSense(Desktop Version)")
root.resizable(width=False, height=False)
root.geometry('400x500')

ser = serial.Serial('COM5', 9600)


def dist_window():
    windist = tk.Toplevel(root)
    windist.wm_title("Distance Sensor")
    windist.resizable(width=False, height=False)
    windist.geometry('100x150')

    def senseDist():
        scene.title = "Visualization"
        scene.fullscreen = True
        scene.visible = False
        objDist = cylinder(display=scene, length=20, color=color.green, raduis=1, pos=(-20, 0, 0))

        while (1 == 1):
            rate(20)
            if (ser.inWaiting() > 0):
                myData = ser.readline()
                distance = float(myData)
                objDist.length = distance

    btnStart = Button(windist, text="Calculate distance", command=senseDist)
    btnStart.pack(side=LEFT, fill=X)

def doNothing():
    print 'Nothing'

# ******** Main Window ********** #

menu = Menu(root)
root.config(menu=menu)

fileMenu = Menu(menu)
menu.add_cascade(label="File", menu=fileMenu)
subMenu1 = Menu(fileMenu)
subMenu1.add_command(label="Distance Sensor", command=dist_window)
fileMenu.add_cascade(label='Go to ...', menu=subMenu1, underline=0)
fileMenu.add_separator()
fileMenu.add_command(label="Exit", command=root.quit)

helpMenu = Menu(menu)
menu.add_cascade(label="Help", menu=helpMenu)
helpMenu.add_command(label="How to use MultiSense", command=doNothing)
helpMenu.add_separator()
helpMenu.add_command(label="About MultiSense", command=doNothing)


root.wm_iconbitmap('windowicon.ico')
root.mainloop()

我对 python 很陌生。我正在使用 Arduino 发送串行数据。这段代码确实没有错误。我只想关闭 VPython 窗口,但它总是最终关闭整个程序。

【问题讨论】:

  • 你能发布一个“有问题的”工作代码示例吗? Linux?
  • 感谢您的快速回复。我已经编辑了我的问题。顺便说一句,我在 Windows 上工作

标签: python user-interface tkinter vpython


【解决方案1】:

我认为如果没有另一个外部程序来提取 VPythons 屏幕的值,就不可能将 vpython 集成到 tkinter 中,示例程序将是“PIL”,那么它将能够集成

另一种方法需要先使用python,然后使用html,然后使用css/java脚本,然后再次使用python来提取值

【讨论】:

    猜你喜欢
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2016-12-07
    • 2019-02-08
    相关资源
    最近更新 更多