使用Tkinter功能,但无法看到任何下拉菜单



我遇到Tkinter函数的问题,运行代码后没有显示下拉菜单(空白(。我在底部附上了输出的图像。

此外,我想将12个输出的值转换为整数值,以便进行后续处理。如果这是一个代码错误,我将非常感谢任何形式的帮助或建议。

import tkinter as tk
from tkinter import *
from tkinter import ttk
[enter image description here][1]
class App(tk.Tk):
def __init__(self):
super().__init__()
self.geometry("800x400")
self.title('ABC')
for r in range(13):
self.rowconfigure(r, weight=1)
for c in range(20):
self.columnconfigure(c, weight=1)
self.testFrame1 = TestFrame()
self.testFrame1.grid(row=0, column=0, rowspan=3, columnspan=3, sticky='nsew')

class TestFrame(tk.Frame):
def _init_(self):
super()._init_()
self.dimension = ('106','108','110','112','114','126','128','130',
'132','132','134','136','138','140','146','148','150',
'152','154','360','380','400','420','440','500','520','540','560',
'580','600','780','800','820')

self.option_var = tk.IntVar(self)
self.option_var1 = tk.IntVar(self)
self.option_var2 = tk.IntVar(self)
self.option_var3 = tk.IntVar(self)
self.option_var4 = tk.IntVar(self)
self.option_var5 = tk.IntVar(self)
self.option_var6 = tk.IntVar(self)
self.option_var7 = tk.IntVar(self)
self.option_var8 = tk.IntVar(self)
self.option_var9 = tk.IntVar(self)
self.option_var10 = tk.IntVar(self)
self.option_var11 = tk.IntVar(self)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for ODD_X1:').grid(column=0, row=0, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var,
self.dimension[0],
*self.dimension,
command=self.option_changed)
option_menu.grid(column=1, row=0, sticky=tk.W, **paddings)
self.output_label=ttk.Label(self, foreground='red')
self.output_label.grid(column=0, row=1, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for ODD_Y1:').grid(column=3, row=0, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var1,
self.dimension[0],
*self.dimension,
command=self.option_changed1)
option_menu.grid(column=4, row=0, sticky=tk.W, **paddings)
self.output_label1=ttk.Label(self, foreground='red')
self.output_label1.grid(column=3, row=1, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for ODD_X2:').grid(column=0, row=3, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var2,
self.dimension[0],
*self.dimension,
command=self.option_changed2)
option_menu.grid(column=1, row=3, sticky=tk.W, **paddings)
self.output_label2=ttk.Label(self, foreground='red')
self.output_label2.grid(column=0, row=4, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for ODD_Y2:').grid(column=3, row=3, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var3,
self.dimension[0],
*self.dimension,
command=self.option_changed3)
option_menu.grid(column=4, row=3, sticky=tk.W, **paddings)
self.output_label3=ttk.Label(self, foreground='red')
self.output_label3.grid(column=3, row=4, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for AOP_X1:').grid(column=0, row=6, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var4,
self.dimension[0],
*self.dimension,
command=self.option_changed4)
option_menu.grid(column=1, row=6, sticky=tk.W, **paddings)
self.output_label4=ttk.Label(self, foreground='red')
self.output_label4.grid(column=0, row=7, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for BOP_Y1:').grid(column=3, row=6, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var5,
self.dimension[0],
*self.dimension,
command=self.option_changed5)
option_menu.grid(column=4, row=6, sticky=tk.W, **paddings)
self.output_label5=ttk.Label(self, foreground='red')
self.output_label5.grid(column=3, row=7, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for COP_X2:').grid(column=0, row=9, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var6,
self.dimension[0],
*self.dimension,
command=self.option_changed6)
option_menu.grid(column=1, row=9, sticky=tk.W, **paddings)
self.output_label6=ttk.Label(self, foreground='red')
self.output_label6.grid(column=0, row=10, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for DOP_Y2:').grid(column=3, row=9, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var7,
self.dimension[0],
*self.dimension,
command=self.option_changed7)
option_menu.grid(column=4, row=9, sticky=tk.W, **paddings)
self.output_label7=ttk.Label(self, foreground='red')
self.output_label7.grid(column=3, row=10, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for PMR_X1:').grid(column=6, row=0, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var8,
self.dimension[0],
*self.dimension,
command=self.option_changed8)
option_menu.grid(column=7, row=0, sticky=tk.W, **paddings)
self.output_label8=ttk.Label(self, foreground='red')
self.output_label8.grid(column=6, row=1, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for IMR_Y1:').grid(column=9, row=0, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var9,
self.dimension[0],
*self.dimension,
command=self.option_changed9)
option_menu.grid(column=10, row=0, sticky=tk.W, **paddings)
self.output_label9=ttk.Label(self, foreground='red')
self.output_label9.grid(column=9, row=1, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for QMR_X2:').grid(column=6, row=3, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var10,
self.dimension[0],
*self.dimension,
command=self.option_changed10)
option_menu.grid(column=7, row=3, sticky=tk.W, **paddings)
self.output_label10=ttk.Label(self, foreground='red')
self.output_label10.grid(column=6, row=4, sticky=tk.W, **paddings)

paddings = {'padx':5, 'pady':5}
label =ttk.Label(self, text='Select the dimension for FMR_Y2:').grid(column=9, row=3, sticky=tk.W, **paddings)
option_menu =ttk.OptionMenu(
self,
self.option_var11,
self.dimension[0],
*self.dimension,
command=self.option_changed11)
option_menu.grid(column=10, row=3, sticky=tk.W, **paddings)
self.output_label11=ttk.Label(self, foreground='red')
self.output_label11.grid(column=9, row=4, sticky=tk.W, **paddings)

def option_changed(self, *args):
self.output_label['text'] = f'You selected: {self.option_var.get()}'
def option_changed1(self, *args):
self.output_label1['text'] = f'You selected: {self.option_var1.get()}'
def option_changed2(self, *args):
self.output_label2['text'] = f'You selected: {self.option_var2.get()}'
def option_changed3(self, *args):
self.output_label3['text'] = f'You selected: {self.option_var3.get()}'
def option_changed4(self, *args):
self.output_label4['text'] = f'You selected: {self.option_var4.get()}'
def option_changed5(self, *args):
self.output_label5['text'] = f'You selected: {self.option_var5.get()}'
def option_changed6(self, *args):
self.output_label6['text'] = f'You selected: {self.option_var6.get()}'
def option_changed7(self, *args):
self.output_label7['text'] = f'You selected: {self.option_var7.get()}'
def option_changed8(self, *args):
self.output_label8['text'] = f'You selected: {self.option_var8.get()}'
def option_changed9(self, *args):
self.output_label9['text'] = f'You selected: {self.option_var9.get()}'
def option_changed10(self, *args):
self.output_label10['text'] = f'You selected: {self.option_var10.get()}'
def option_changed11(self, *args):
self.output_label11['text'] = f'You selected: {self.option_var11.get()}'
#x=self.option_var.get()
#odd_x1=int(x)
#print(odd_x1)

#x_1 = self.option_var1.get()
#odd_y1 = int(x_1)
#print(odd_y1)

#x_2 = self.option_var2.get()
#odd_x2 = int(x_2)
#print(odd_x2)
#x_3 = self.option_var3.get()
#odd_y2 = int(x_3)
#print(odd_y2)
#x_4 = self.option_var4.get()
#aop_x1 = int(x_4)
#print(aop_x1)

#x_5 = self.option_var5.get()
#bop_y1 = int(x_5)
#print(bop_y1)
#x_6 = self.option_var6.get()
#cop_x2 = int(x_6)
#print(cop_x2)
#x_7 = self.option_var7.get()
#dop_y2 = int(x_7)
#print(dop_y2)
#x_8 = self.option_var8.get()
#pmr_x1 = int(x_8)
#print(pmr_x1)
#x_9 = self.option_var9.get()
#imr_y1 = int(x_9)
#print(imr_y1)
#x_10 = self.option_var10.get()
#qmr_x2 = int(x_10)
#print(qmr_x2)

#x_11=self.option_var11.get()
#fmr_y2 = int(x_11)
#print(fmr_y2) 

App().mainloop()

请注意,___init__()有两个不需要的__init__()

这是代码中需要修复的部分。

class TestFrame(tk.Frame):
def __init__(self):
super().__init__()

相关内容

最新更新