如何在python中将定义的局部变量作为值添加到combobox中?
我正在从事一个项目,在该项目中,我需要在组合框的值中定义函数变量(局部变量),但它给了我未定义变量的错误。而且我不能更改python脚本的模式,否则脚本将混淆并产生其他错误 请帮助我在不更改脚本模式的情况下解决此问题 这是我的密码:-如何在python中将定义的局部变量作为值添加到combobox中?,python,function,tkinter,combobox,local-variables,Python,Function,Tkinter,Combobox,Local Variables,我正在从事一个项目,在该项目中,我需要在组合框的值中定义函数变量(局部变量),但它给了我未定义变量的错误。而且我不能更改python脚本的模式,否则脚本将混淆并产生其他错误 请帮助我在不更改脚本模式的情况下解决此问题 这是我的密码:- book= '' pages = 1 page_no = 1 pdfReader='' def selectBtnClicked(): # pass global book global PDFFILE global pages
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()
book=''
页数=1
第1页
pdfReader=“”
def selectBtnClicked():
#通过
全球图书
全局PDFFILE
全球网页
全球页码
全球PDF阅读器
打印(PDF文件)
#PDFFILE1=pdf_btnClicked()
书本=打开(PDFFILE“rb”)
pdfReader=PyPDF2.PdfileReader(书本)
pages=pdfReader.numPages
打印(页)
页数+=1
第_页编号=[i代表范围内的i(1页)]
打印(页码)
返回页面号,pdfReader
#起于
style=ttk.style()
样式、主题和使用(“默认”)
style.map('TCombobox',fieldbackground=[('readonly','red'))
style.map('TCombobox',selectbackground=[('readonly','red'))
style.map('TCombobox',select前台=[('readonly','white'))
n=tk.StringVar(value=“---起始页---”)
n、 设置(“---起始页--”)
startfromLabel=ttk.Combobox(根,font=font,justify='center',textvariable=n)
startfromLabel[“值”]=页码
#页数()
startfromLabel[“状态”]=“只读”
startfromLabel.bind(“”)
startfromLabel.current()
从标签开始[“前景”]=“#ffffff”
从label.pack开始(侧=顶部,pady=30)
root.mainloop()
我需要页码_no作为startfromLabel的值,但我没有在GUI输出中获得值:
您不要求更改函数中的
值,因此请说:
def selectBtnClicked():
.... #same bunch of code
startfromLabel["values"] = page_no
.... #remaining bunch of code
请发布完整的错误代码我编辑了我的代码并上传了我的完整代码错误是什么?您仍然没有提到您遇到的错误。请尝试在函数中说startfromLabel[“values”]=page_no
,好的,先生,我得到了正确的答案,再次感谢您解决了我的问题。