如何在python中将定义的局部变量作为值添加到combobox中?

2024-09-30 20:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从事一个项目,在该项目中,我需要在组合框的值中定义函数变量(局部变量),但它给了我未定义变量的错误。而且我不能更改python脚本的模式,否则脚本将混淆并产生其他错误

请帮助我在不更改脚本模式的情况下解决此问题

这是我的密码:-

book= ''
pages = 1
page_no = 1
pdfReader=''
def selectBtnClicked():
    # pass
    global book
    global PDFFILE
    global pages
    global page_no
    global pdfReader
    print(PDFFILE)
    # PDFFILE1=pdf_btnClicked()
    book = open(PDFFILE, 'rb')
    pdfReader = PyPDF2.PdfFileReader(book)
    pages = pdfReader.numPages
    print(pages)
    pages += 1
    page_no = [i for i in range(1, pages)]
    print(page_no)
    return page_no, pdfReader

#start from
style = ttk.Style()
style.theme_use("default")
style.map('TCombobox', fieldbackground=[('readonly','red')])
style.map('TCombobox', selectbackground=[('readonly', 'red')])
style.map('TCombobox', selectforeground=[('readonly', 'white')])
n= tk.StringVar(value="---STARTING PAGE---")
n.set("---STARTING PAGE---")
startfromLabel = ttk.Combobox(root, font=font, justify='center', textvariable=n)
startfromLabel["values"]= page_no
# pages_nos()
startfromLabel["state"] = "readonly"
startfromLabel.bind('<<ComboboxSelected>>')
startfromLabel.current()
startfromLabel["foreground"] = '#ffffff'
startfromLabel.pack(side=TOP, pady=30)
  
root.mainloop()

我需要页码_no作为startfromLabel的值,但我没有在GUI输出中获得值:

enter image description here


Tags: 项目no脚本mapstylepagepagesglobal