python - 从 tkinter 上的按钮按下启动另一个脚本
问题描述
所以我试图在 tkinter 上创建一个运行另一个脚本的按钮。我不确定这是否是最佳方式,而不仅仅是将我拥有的任何内容添加到我想要运行的脚本中,但我想看看这是否可能供将来参考。到目前为止,这就是我的脚本中的内容。关于如何解决这个问题的任何想法?
import tkinter as tk
from tkinter import *
from tkinter import simpledialog
import uploadtest as ut
class Initial(simpledialog.Dialog):
def body(self, master):
#input fields for username and passwords
Label(master, text="Scripts").grid(row=1, column=1),
#Buttons
self.utz = ut
self.b1 = Button(master, text = "Script1", bg="grey", command=self.utz)
self.b1.grid(row=7, column=1, ipadx=75)
root = tk.Tk()
root.withdraw()
d = Initial(root)
任何帮助将不胜感激。我知道我可以将这个类添加到另一个脚本并使用按钮命令,这会更容易,但我只是好奇这种方法是否可行,因为我将向其中添加多个脚本,我想拥有我的脚本分开了。似乎当我尝试在此脚本上导入 uploadtest.py 时,它只是运行该脚本而不是这个脚本。
解决方案
如果您想再次使用它以供将来参考,您可以将您的修改uploadtest.py
为一个函数
def ut():
print("your")
print("script")
print("here")
然后在脚本中使用它from uploadtest import *
并像脚本中的普通函数一样调用它
import tkinter as tk
from tkinter import *
from tkinter import simpledialog
from uploadtest import *
class Initial(simpledialog.Dialog):
def body(self, master):
#input fields for username and passwords
Label(master, text="Scripts").grid(row=1, column=1),
#Buttons
self.utz = ut
self.b1 = Button(master, text = "Script1", bg="grey", command=self.utz)
self.b1.grid(row=7, column=1, ipadx=75)
root = tk.Tk()
root.withdraw()
d = Initial(root)
如果这不是您想要的,请发表评论
推荐阅读
- c# - 创建列表
从 XML 孩子,C# - javascript - 如何使用 post 将 React 组件从 server.js 渲染到 App.js?
- c++ - QThread 专用于无限循环
- git - 合并到 master 后查找开发人员分支
- pyspark - 以纯文本格式保存具有复杂模式的 pyspark 数据框以进行测试
- python - 带有异步的 Python 事件处理程序(非阻塞 while 循环)
- node.js - GAE 标准实例生命周期
- javascript - Typescript 中的抽象类 v 单例 v 公共静态
- java - Hadoop JobControl,第二个工作不起作用
- java - 无法运行程序“phantomjs”:错误=13,权限被拒绝