如何在Tkinter应用程序上监听终端?

问题描述

我有一个简单的图形程序,可以在远程树莓派的触摸屏上显示一些指令和触摸按钮。

我不是通过直接执行而是通过SSH连接运行它,因此我的桌面应用程序日志中都有该记录。

我希望在运行脚本的控制台中缺少交互,例如执行某些功能或更改某些变量的值。

那有可能吗?

我不想在TKinter窗口中创建控制台,如alessandro所问: How to embed a terminal in a Tkinter application?

不确定是否应该使用短子进程(如user1941008),但htis似乎过于复杂 Write to terminal in Tkinter GUI

而且我确实不想为此创建一个客户端/服务器设置或中间缓冲区,因为太复杂了,我将不得不重写一些东西以将日志发送到新程序。

我添加了一些我的代码的小版本:

#!/usr/bin/env python3
import tkinter as tk

class _tkapp(tk.Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):

        self.redButton = tk.Button(self,text='Make me red',command=self.paintMeRed)
        self.redButton.pack(side='top')

        self.blueButton = tk.Button(self,text='Make me blue',command=self.paintMeBlue)
        self.blueButton.pack(side='top')

        self.quit = tk.Button(self,text='QUIT',fg='red',command=self.master.destroy)
        self.quit.pack(side='bottom')

    def paintMeRed(self):
        tk_root.configure(background='red')
        print('user click on RED')

    def paintMeBlue(self):
        tk_root.configure(background='blue')
        print('user click on BLUE')


tk_root = tk.Tk()
tk_root.geometry("200x120") 
tk_app = _tkapp(master=tk_root)
tk_app.mainloop()

这使我可以在控制台上看到用户喜欢的内容, 我的目标,也可以从控制台更改颜色

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)