【问题标题】:Tkinter command button with args带参数的 Tkinter 命令按钮
【发布时间】:2021-01-08 21:20:29
【问题描述】:

我在 tkinter 中有这个输入框:

lbl1 = Label(window, text="Escribe un nombre" , font=("Arial Bold", 12))
lbl1.grid(row = 1, column = 0)

textBox = Entry(window, width=10)
textBox.grid(row = 1, column = 1)

btn3 = Button(window, text="Guardar Nombre")# -n
btn3.grid(row = 1, column = 2)

我想让按钮“Guardar Nombre”命令当用户写入输出文件的名称时,执行以下 arg

parser = argparse.ArgumentParser()
parser.add_argument('-n','--nombre', help='Nombre del archivo', required=True)

【问题讨论】:

  • 请澄清您所说的“执行以下参数”是什么意思?
  • 没有 tkinter 我添加到 GUI 程序的 .py 程序,当我执行时询问我文件的名称“parser.add_argument('-n','--nombre', help='Nombre del archivo', required=True)" x 轴上的照片数量和 y 轴上的数量,所以如果我想在没有 GUI 的情况下仅通过终端上的参数运行程序我写“python3 nameoftheprogram.py -n nameoftheoutputfile -x“x 轴上的照片数量”-y“画布的列数量”,所以我想这样做而不是使用终端来执行 .py make它的 GUI 应用程序
  • 所以为了创建 GUI 软件,我为名称 textBox = Entry(window, width=10) 创建了该条目,并创建了保存名称的按钮,如 parser.add_argument btn3 = Button(window, text="Guardar Nombre")# -n
  • 要回答您的问题,我们需要知道您的脚本的其余部分如何使用 Entry 中的值。它与argparse 无关,它只是一个处理命令行参数的工具(而不是在 检索它们之后对它们做什么)。因此,您的问题无法以目前的形式回答。
  • 一种方法是创建一个完全独立的 GUI 脚本,允许用户指定传递给nameoftheprogram.py 脚本的参数,该脚本可以运行并将通过 GUI 界面收集的参数传递给它。

标签: python tkinter arguments


【解决方案1】:

感谢用户 martineau 和一些谷歌搜索,我可以解决这个问题

使用

import subprocess
import os
import sys

并创建了一个函数

def submit():
    x1 = textNameBox.get()
    x2 = numXBox.get()
    x3 = numYBox.get()
    os.system("python3 parse.py " + " -n"+ textNameBox.get() + " -x" + numXBox.get() + " -y" + numYBox.get())

最后是按钮

btn = Button(window, text="nameofbutton" , command= submit) 
btn.grid(row = 4, column = 1)

虽然也许 x1,x2,x3 不需要是 (?)

成功了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 2013-04-19
    • 2019-06-02
    • 2021-04-14
    • 2023-02-24
    • 1970-01-01
    相关资源
    最近更新 更多