如何将定义的局部变量作为 python 中的值获取到组合框?
How to get defined local variable to combobox as values in python?
我正在做一个项目,我需要在 Combobox 的值中定义函数变量(局部变量),但它给我错误 undefined variable。 我无法更改我的 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()
我需要 page_no 作为 startfromLabel 的值,但我没有在我的 GUI 输出中得到这些值:
你不是说改变函数里面的values
,所以说:
def selectBtnClicked():
.... #same bunch of code
startfromLabel["values"] = page_no
.... #remaining bunch of code
我正在做一个项目,我需要在 Combobox 的值中定义函数变量(局部变量),但它给我错误 undefined variable。 我无法更改我的 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()
我需要 page_no 作为 startfromLabel 的值,但我没有在我的 GUI 输出中得到这些值:
你不是说改变函数里面的values
,所以说:
def selectBtnClicked():
.... #same bunch of code
startfromLabel["values"] = page_no
.... #remaining bunch of code