Python 如何将ttk.LabelFrame放入ttk.PanedWindow中?
我在ttk中启动,在尝试在PanedWindow中添加LabelFrame时,我不断遇到此错误。发生在第46行(Python 如何将ttk.LabelFrame放入ttk.PanedWindow中?,python,tkinter,ttk,Python,Tkinter,Ttk,我在ttk中启动,在尝试在PanedWindow中添加LabelFrame时,我不断遇到此错误。发生在第46行(self.pwEntries.add(self.lfEntries)): _tkinter.TclError:错误#args:应为“!frame.!panedwindow.!panedwindow添加窗口” 由于我不知道如何解决它,我真的非常感谢一些帮助,请 我的代码是这样的: from tkinter import * from tkinter import ttk class
self.pwEntries.add(self.lfEntries)
):
_tkinter.TclError:错误#args:应为“!frame.!panedwindow.!panedwindow添加窗口”
由于我不知道如何解决它,我真的非常感谢一些帮助,请
我的代码是这样的:
from tkinter import *
from tkinter import ttk
class CalcVendGame:
def __init__(self, root):
root.title("Calcula Venda Games")
self.mainframe = ttk.Frame(root, padding="3 3 12 12")
self.mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
self.pwRoot = ttk.PanedWindow(self.mainframe, orient=VERTICAL)
self.pwEntries = ttk.PanedWindow(self.pwRoot, orient=HORIZONTAL)
self.lfEntries = ttk.LabelFrame(self.pwEntries, labelanchor='nw').grid(
column=0, row=0, sticky=(N, W))
ttk.Label(self.lfEntries, text="Valor em Dólar de cada cópia:", padding="5").grid(
column=2, row=1, sticky=E)
self.CopiaEmDolar = StringVar()
cpEmDol_entry = ttk.Entry(
self.lfEntries, width=7, textvariable=self.CopiaEmDolar)
cpEmDol_entry.grid(column=3, row=1, sticky=W)
ttk.Label(self.lfEntries, text="Ex: \"19.99\"", padding="5").grid(
column=4, row=1, sticky=W)
ttk.Label(self.lfEntries, text="Quantidade de cópias vendidas:", padding="5").grid(
column=2, row=2, sticky=E)
self.CopiasVendidas = StringVar()
cpVend_entry = ttk.Entry(
self.lfEntries, width=7, textvariable=self.CopiasVendidas)
cpVend_entry.grid(column=3, row=2, sticky=W)
ttk.Button(self.lfEntries, text="Calcular").grid(
column=4, row=3, sticky=W)
self.pwEntries.add(self.lfEntries)
self.pwPC = ttk.PanedWindow(self.pwRoot, orient=HORIZONTAL)
self.pwSteam = ttk.PanedWindow(self.pwPC, orient=VERTICAL)
self.lfSteam = ttk.LabelFrame(self.pwSteam, padding=(
5), text='Steam', labelanchor='nw')
ttk.Label(self.lfSteam, text="Cut 35%", padding="5").grid(
column=0, row=0, sticky=W)
ttk.Separator(self.lfSteam, orient=HORIZONTAL)
self.pwPatreon = ttk.PanedWindow(self.pwRoot, orient=VERTICAL)
self.pwPC.add(self.pwSteam)
self.pwPC.add(self.pwPatreon)
self.pwMobile = ttk.PanedWindow(self.pwRoot, orient=HORIZONTAL)
# self.pwRoot.add(self.lfEntries)
self.pwRoot.add(self.pwEntries)
self.pwRoot.add(self.pwPC)
self.pwRoot.add(self.pwMobile)
root = Tk()
CalcVendGame(root)
root.mainloop()
此外,此代码不会给我错误,但会在空白窗口中显示结果:
from tkinter import *
from tkinter import ttk
master = Tk()
mainframe = ttk.Frame(master, padding="3 3 10 10")
p = ttk.Panedwindow(mainframe, orient=VERTICAL)
# two panes, each of which would get widgets gridded into it:
f1 = ttk.Labelframe(p, text='Pane1', width=100, height=100)
ttk.Label(f1, text="Valor em Dólar de cada cópia:", padding="5")
f2 = ttk.Labelframe(p, text='Pane2', width=100, height=100)
ttk.Label(f2, text="Quantidade de cópias vendidas:", padding="5")
p.add(f1)
p.add(f2)
master.mainloop()
您忘记在小部件上使用任何布局管理器。下面是使用
pack()
更新的代码:
从tkinter导入*
从tkinter导入ttk
master=Tk()
大型机=ttk.Frame(主控,padding=“3 10 10”)
mainframe.pack()
p=ttk.Panedwindow(主机,方向=垂直)
p、 包()
#两个窗格,每个窗格都将小部件网格化:
f1=ttk.Labelframe(p,text='Pane1',宽度=100,高度=100)
ttk.标签(f1,text=“Valor em Dólar de cada cópia:”,padding=“5”).pack()
f2=ttk.Labelframe(p,text='Pane2',宽度=100,高度=100)
ttk.标签(f2,text=“Quantidade de cópias vendidas:”,padding=“5”).pack()
p、 添加(f1)
p、 添加(f2)
master.mainloop()
您忘记在小部件上使用任何布局管理器。下面是使用pack()
更新的代码:
从tkinter导入*
从tkinter导入ttk
master=Tk()
大型机=ttk.Frame(主控,padding=“3 10 10”)
mainframe.pack()
p=ttk.Panedwindow(主机,方向=垂直)
p、 包()
#两个窗格,每个窗格都将小部件网格化:
f1=ttk.Labelframe(p,text='Pane1',宽度=100,高度=100)
ttk.标签(f1,text=“Valor em Dólar de cada cópia:”,padding=“5”).pack()
f2=ttk.Labelframe(p,text='Pane2',宽度=100,高度=100)
ttk.标签(f2,text=“Quantidade de cópias vendidas:”,padding=“5”).pack()
p、 添加(f1)
p、 添加(f2)
master.mainloop()
检查self.lf条目
。不是你想的那样。然后看看这里的解释:@BryanOakley我想我明白你的意思了。从self.lfEntries=ttk.LabelFrame(self.pwrentries,labelanchor='nw').grid(列=0,行=0,粘性=(N,W))
更改为self.lfEntries=ttk.LabelFrame(self.pwrentries,text='Pane1',labelanchor='nw',宽度=300)
和self.lfEntries.grid(列=0,行=0,粘性=(N,W))
,,我没有收到任何错误,而是一个空白窗口。。。self.lfEntries
的子窗口小部件均未显示…请检查self.lfEntries
。不是你想的那样。然后看看这里的解释:@BryanOakley我想我明白你的意思了。从self.lfEntries=ttk.LabelFrame(self.pwrentries,labelanchor='nw').grid(列=0,行=0,粘性=(N,W))
更改为self.lfEntries=ttk.LabelFrame(self.pwrentries,text='Pane1',labelanchor='nw',宽度=300)
和self.lfEntries.grid(列=0,行=0,粘性=(N,W))
,,我没有收到任何错误,而是一个空白窗口。。。self.lfEntries
的所有子窗口小部件均未显示…谢谢,伙计!我正在使用grid()
而不是pack()
,但这正是我所缺少的!!谢谢你,伙计!我正在使用grid()
而不是pack()
,但这正是我所缺少的!!