python-3.x - 使用 `os.system("")` 打开新窗口并单击按钮上的 cmd
问题描述
我有一个问题,我使用该os.system(")
函数打开不同的脚本,但单击按钮时,它会打开脚本和 cmd。脚本编写如下:
from tkinter import *
from tkinter.ttk import *
import os
master = Tk()
master.title("Manufacturing")
master.config(bg="skyblue3")
l1 = Label(master, text="Reflex Footwear (Pty) Ltd", font=["Calibri, bold", 20])
l1.grid(row=0, column=1, columnspan=2, sticky=N, pady=2)
def tkinter1():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\orders.py')
if ret:
exit()
def tkinter2():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\handlacing.py')
if ret:
exit()
def tkinter3():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\stock_sheet.py')
if ret:
exit()
def tkinter4():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\logistics_view.py')
if ret:
exit()
def tkinter5():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\bill.py')
if ret:
exit()
def tkinter6():
ret = os.system('python C:\Users\PycharmProjects\SoftwareTest\production.py')
if ret:
exit()
# Images
img = PhotoImage(file=r"C:\sig.png")
img1 = img.subsample(1, 1)
img = PhotoImage(file=r"C:\Buttons\exit.png")
img2 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\orders_in_house.png")
img3 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\handlacing.png")
img4 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\stock_in_house.png")
img5 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\logistics.png")
img6 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\bom.png")
img7 = img.subsample(2, 2)
img = PhotoImage(file=r"C:\Buttons\production.png")
img8 = img.subsample(2, 2)
# Setting image in label
Label(master, image=img1).grid(row=0, column=1, columnspan=4, rowspan=8, padx=20, pady=30)
# Buttons
# b1 = Button(master, text="Order In House", command=tkinter1)
b1 = Button(master, image=img3, command=tkinter1)
# b2 = Button(master, text="Handlacing", command=tkinter2)
b2 = Button(master, image=img4, command=tkinter2)
# b3 = Button(master, text="Stock In House", command=tkinter3)
b3 = Button(master, image=img5, command=tkinter3)
# b4 = Button(master, text="Logistics", command=tkinter4)
b4 = Button(master, image=img6, command=tkinter4)
# b5 = Button(master, text="Bill Of Materials", command=tkinter5)
b5 = Button(master, image=img7, command=tkinter5)
# b6 = Button(master, text="Production", command=tkinter6)
b6 = Button(master, image=img8, command=tkinter6)
# b7 = Button(master, text="Exit", command=master.destroy)
b7 = Button(master, image=img2, command=master.destroy)
# Arranging Buttons
b1.grid(row=1, column=0, padx=20, pady=5, sticky=W + N)
b2.grid(row=2, column=0, padx=20, pady=5, sticky=W + N)
b3.grid(row=3, column=0, padx=20, pady=5, sticky=W + N)
b4.grid(row=4, column=0, padx=20, pady=5, sticky=W + N)
b5.grid(row=5, column=0, padx=20, pady=5, sticky=W + N)
b6.grid(row=6, column=0, padx=20, pady=5, sticky=W + N)
b7.grid(row=7, column=0, padx=20, pady=5, sticky=W + N)
mainloop()
每次我单击按钮时,它都会打开一个新窗口。我想知道是否有一种方法,除了重新编程每个脚本之外,是否有一种方法可以在每次按钮单击时不打开 cmd。
当我pyinstaller
使用我编译这个脚本时--onefile --windowed
,--onefile
也看看结果是否可以让我选择每次单击按钮时不弹出 cmd。
我想最终打开一个.exe
创建文件的窗口,然后当我单击按钮时,它只打开顶部选定的窗口/脚本,而不是打开 cmd,然后只打开下一个/其他脚本。
我希望这可以实现。
任何帮助将不胜感激。
解决方案
推荐阅读
- python - 更改源代码时烧瓶 docker compose 重新加载?
- kubernetes - 为什么启用firewalld时核心dns不解析任何域名?当 firewalld 停止时它可以工作
- arrays - 如何一次输出整个数组
- javascript - Jquery XML解析跳过数据元素/节点
- apache - Tomcat8没有部署war文件
- hybris - 使用导入脚本导入时媒体未正确导入
- r - 尝试使用 FAOSTAT 导入数据时出现 data.frame 错误
- django - Django:第 41 行的块标记无效:'endblock',预期为 'empty' 或 'endfor'
- machine-learning - 您如何准确计算卷积神经网络中过滤器的梯度?
- sql - Oracle 数据库中 DST 更改的时间似乎是凌晨 1 点而不是凌晨 2 点