【发布时间】:2016-12-07 21:39:48
【问题描述】:
我正在尝试在 Python/tkinter 中创建一个应用程序(我的第一个应用程序),它最终应该在 Raspberry Pi 上运行,并附有一个小型触摸屏显示器 (480x320px)。屏幕分为主机和框架,框架(稍后)将包含 6 个功能键(按钮)
所以我从下面的代码开始,希望/期望我能以某种方式将主应用程序窗口分成两个框架,一个是灰色的,一个是黑色的……但我(在我的 PC 上)看到的只是 MainApp 窗口尺寸正确,不可调整大小,标题正确(到目前为止一切都很好!)和黄色背景......我在 MainApp 中定义的框架似乎没有显示,即使里面有标签,它们是粘性的,它们有一个重量(我不记得我还尝试了什么以及我在哪里搜索过)
请问我在这里俯瞰什么?
#!/usr/bin/python3
import tkinter as tk
#
# main application
#
class MainApp(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.parent = parent
self.parent.title("My first GUI")
self.parent.geometry("480x320")
self.parent.resizable(width=False, height=False)
self.parent.config(bg="yellow")
mainframe = tk.Frame(self, bg="grey", width=480, height=280 )
mainframe.grid(column=0, row=0, sticky="WENS")
tk.Label(mainframe, text="co-cooo").grid(column=0, row=0, sticky="WENS")
fkeyframe = tk.Frame(self, bg="black", width=480, height=40)
fkeyframe.grid(column=0, row=1, sticky="WENS")
tk.Label(fkeyframe, text="fo-fooo").grid(column=0, row=0, sticky="WENS")
self.rowconfigure(0, weight=1, minsize=280)
self.rowconfigure(1, weight=1, minsize=40)
#
# define root element and start application
#
def main():
root = tk.Tk()
app = MainApp(root)
root.mainloop()
#
# start if called from command line
#
if __name__ == '__main__':
main()
# 0,0 MainApp (yellow) 480,0
# +---------------------------------+
# | mainframe (grey, h=280) |
# |+-------------------------------+|
# || ||
# || ||
# || ||
# |+-------------------------------+|
# | fkeyframe (black, h=40) |
# |+-------------------------------+|
# ||+----+----+----+----+----+----+||
# ||| Bt | Bt | Bt | Bt | Bt | Bt |||
# ||+----+----+----+----+----+----+||
# |+-------------------------------+|
# +---------------------------------+
# 320,0 320,480
【问题讨论】: