Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将定义的局部变量作为值添加到combobox中?_Python_Function_Tkinter_Combobox_Local Variables - Fatal编程技术网

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

如何在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

我正在从事一个项目,在该项目中,我需要在组合框的值中定义函数变量(局部变量),但它给了我未定义变量的错误。而且我不能更改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()
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
,好的,先生,我得到了正确的答案,再次感谢您解决了我的问题。