首页 > 解决方案 > 有没有办法在 tkinter GUI 中动态获取条件输入,而不是从控制台获取它们?

问题描述

我正在尝试为我使用 spyder IDE 编写的 pdf 阅读程序编写一个简单的 GUI,目的是加快我工作办公室的文书工作,我希望办公室中的每个人都可以使用它而无需任何编码环境。GUI工作正常,除了有一些条件输入,即如果在执行过程中无法从pdf中读取必要的信息,那么它会询问用户“x信息无法读取,请手动输入或按回车:” . 虽然我可以使用 GUI 开始运行程序,但这些要求任何输入的提示都会显示在 spyder 控制台中,这是不需要的。有没有办法获得这些提示并仅使用 GUI 来回答它们?这是我的 GUI 代码:

from tkinter import (Tk, Label, Entry, 
                     Radiobutton, 
                     Button,LEFT,W,StringVar)
                     
import main

# In main.py, pdf_text function pre-evaluates the pdf files and decides what type they are. Based on 
# the type, one of the 5 reading .py files starts the reading and getting the necessary information. 
# These .py files are imported in main.py.

def donus():

    pdf = pdfEntry.get()
    x = var.get()
    if x == "EVET":
        x =  True
    else:x = False
    y = var2.get()
    main.pdf_text(pdf,y,x)

  root = Tk()
root.title('ÇOKLU KALEM PDF DÖNÜŞTÜR')
root.geometry('500x250')

global pdfLabel
pdfLabel=Label(root, text = "PDF DOSYASININ ADINI GİRİNİZ",padx=20)
pdfLabel.pack(anchor=W)

global pdfEntry
pdfEntry = Entry(root, width = 75)
pdfEntry.pack()

var = StringVar(value="1")
global parLabel
parLabel=Label(root, text = "\nTİCARİ TANIMLARDA (VARSA) PARANTEZ İÇİNDEKİ BİLGİLER ALINSIN MI?",
                justify = LEFT,
                padx=20)
               
parLabel.pack(anchor=W)

global evetRadio
evetRadio = Radiobutton(root, 
                        text = "EVET, ALINSIN",
                        padx=20,
                        variable=var, value="EVET")
evetRadio.pack(anchor=W)

global hayırRadio
hayırRadio = Radiobutton(root, 
                         text = "HAYIR, ALINMASIN",
                         variable=var,
                         padx=20,value="HAYIR")
hayırRadio.pack(anchor=W)

var2 = StringVar(value="1")
global proLabel
proLabel=Label(root, text = "\nHANGİ FORMAT İÇİN DÖNÜŞTÜRME YAPILACAK?",padx=20)
proLabel.pack(anchor=W)

global proRadio
proRadio = Radiobutton(root, text = "PROAKTİF", variable=var2, padx=20, value="PROAKTİF")
proRadio.pack(anchor=W)

global ncRadio
ncRadio = Radiobutton(root, text = "NCTS",variable=var2, padx=20, value="NCTS")
ncRadio.pack(anchor=W)

global exeButton
exeButton = Button(root,text = "DÖNÜŞTÜR", command =donus, width = 20, height= 2)
exeButton.pack()

root.mainloop()

标签: pythonuser-interfacetkinterinputconditional-statements

解决方案


推荐阅读