python3使用tkinter做界面之拆分窗口(SplitWindow)
来源:互联网 发布:c语言输出乘法表 while 编辑:程序博客网 时间:2024/04/29 12:45
from tkinter import *
from idlelib.tabbedpages import *
class MainFrame(Frame):
def __init__ (self, master=None, cnf={}, **kw):
self.master = master
super(MainFrame,self).__init__(self.master,cnf)
# create a menu
self.mmenu = Menu(root)
self.master.config(menu=self.mmenu)
self.master.rowconfigure( 0, weight = 1 )
self.master.columnconfigure( 0, weight = 1 )
self.grid( sticky = W+E+N+S )
self.BottomLabel = Label(self.master,text='top',width=1,bg='Blue')
self.BottomLabel.pack(side=TOP, expand=NO,fill=X)
self.BottomLabel = Label(self.master,text='bottom',width=1,bg='Blue')
self.BottomLabel.pack(side=BOTTOM, expand=NO,fill=X)
self.LeftCanv = Canvas(self.master, bg='Blue',width = 175, height = 30 )
self.LeftCanv.pack(side=LEFT, expand=NO,fill=Y)# padx=10, pady=5, ipadx=5, ipady=5,
#self.LeftCanv.grid( row = 0, column = 0, sticky = W+E+N+S )
#self.tabPage=TabbedPageSet(self.master, page_names=['Foobar','Baz'], n_rows=0,
# expand_tabs=False#,width = 175, height = 30
# )
#self.tabPage.pack(side=LEFT, expand=NO, fill=BOTH)
self.MidLabel = Label(self.master,text='',width=0, cursor='sb_h_double_arrow')
self.MidLabel.pack(side=LEFT, expand=NO,fill=Y)
self.MidLabel.bind("<B1-Motion>", self.SetLeftCanvSize)
self.RightCanv = Canvas(self.master, bg='Pink')
self.RightCanv.pack(side=RIGHT, expand=YES, fill=BOTH)
obj1 = self.RightCanv.create_text(50, 30, text='Click me one')
#self.RightCanv.grid( row=0, column=1, sticky = W+E+N+S )
self.AddMenu()
def AddMenu (self):
filemenu = Menu(self.mmenu)
filemenu.add_command(label="New", command=self.quit)
filemenu.add_command(label="Open...", command=self.quit)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.quit)
self.mmenu.add_cascade(label="File", menu=filemenu)
configmenu = Menu(self.mmenu)
configmenu.add_command(label="我的设置", command=self.quit)
self.mmenu.add_cascade(label="设置", menu=configmenu)
def SetLeftCanvSize (self, event):
self.LeftCanv.config(width=self.LeftCanv.winfo_width()+event.x-7)
#self.tabPage.config(width=self.tabPage.winfo_width()+event.x-7)
def __del__ (self):
print('退出')
if __name__=='__main__':
root = Tk()
MF = MainFrame(root, width = 800, height = 600)
MF.pack()
root.mainloop()
from idlelib.tabbedpages import *
class MainFrame(Frame):
def __init__ (self, master=None, cnf={}, **kw):
self.master = master
super(MainFrame,self).__init__(self.master,cnf)
# create a menu
self.mmenu = Menu(root)
self.master.config(menu=self.mmenu)
self.master.rowconfigure( 0, weight = 1 )
self.master.columnconfigure( 0, weight = 1 )
self.grid( sticky = W+E+N+S )
self.BottomLabel = Label(self.master,text='top',width=1,bg='Blue')
self.BottomLabel.pack(side=TOP, expand=NO,fill=X)
self.BottomLabel = Label(self.master,text='bottom',width=1,bg='Blue')
self.BottomLabel.pack(side=BOTTOM, expand=NO,fill=X)
self.LeftCanv = Canvas(self.master, bg='Blue',width = 175, height = 30 )
self.LeftCanv.pack(side=LEFT, expand=NO,fill=Y)# padx=10, pady=5, ipadx=5, ipady=5,
#self.LeftCanv.grid( row = 0, column = 0, sticky = W+E+N+S )
#self.tabPage=TabbedPageSet(self.master, page_names=['Foobar','Baz'], n_rows=0,
# expand_tabs=False#,width = 175, height = 30
# )
#self.tabPage.pack(side=LEFT, expand=NO, fill=BOTH)
self.MidLabel = Label(self.master,text='',width=0, cursor='sb_h_double_arrow')
self.MidLabel.pack(side=LEFT, expand=NO,fill=Y)
self.MidLabel.bind("<B1-Motion>", self.SetLeftCanvSize)
self.RightCanv = Canvas(self.master, bg='Pink')
self.RightCanv.pack(side=RIGHT, expand=YES, fill=BOTH)
obj1 = self.RightCanv.create_text(50, 30, text='Click me one')
#self.RightCanv.grid( row=0, column=1, sticky = W+E+N+S )
self.AddMenu()
def AddMenu (self):
filemenu = Menu(self.mmenu)
filemenu.add_command(label="New", command=self.quit)
filemenu.add_command(label="Open...", command=self.quit)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.quit)
self.mmenu.add_cascade(label="File", menu=filemenu)
configmenu = Menu(self.mmenu)
configmenu.add_command(label="我的设置", command=self.quit)
self.mmenu.add_cascade(label="设置", menu=configmenu)
def SetLeftCanvSize (self, event):
self.LeftCanv.config(width=self.LeftCanv.winfo_width()+event.x-7)
#self.tabPage.config(width=self.tabPage.winfo_width()+event.x-7)
def __del__ (self):
print('退出')
if __name__=='__main__':
root = Tk()
MF = MainFrame(root, width = 800, height = 600)
MF.pack()
root.mainloop()
- python3使用tkinter做界面之拆分窗口(SplitWindow)
- python3使用tkinter做界面之菜单
- python3使用tkinter做界面之颜色
- python3使用tkinter做界面之鼠标提示(ToolTip)
- python3使用tkinter做界面之文件树FileTreeWidget
- python3使用tkinter做界面之按钮Button
- Python3 tkinter 界面布局
- 窗口命名(tkinter,Python3.x)
- 使根窗口可伸缩(tkinter,Python3.x)
- python3中,Tkinter编写菜单界面案例
- 位图(tkinter,Python3.x)
- 光标(tkinter,Python3.x)
- 图片(tkinter,Python3.x)
- Python 之 使用Tkinter 做GUI 研究机器人走迷宫
- MFC之拆分窗口
- 使用Tkinter做个日历
- 使用Tkinter做个日历
- Python3.4GUI Tkinter的使用
- 杭电 2007 平方和与立方和
- Codeforces Round #124 (Div. 2)
- objective-c 类型转换
- 杭电 2008 数值统计
- 杭电 2009 求数列的和
- python3使用tkinter做界面之拆分窗口(SplitWindow)
- Oracle 表空间
- 程序员的进化
- 杭电 2010 水仙花数
- vc++2010代码格式化方法(使用Artistic Style,效果好,使用简单,推荐使用)
- MFC多线程
- 绘图函数BitBlt的使用方法
- 介绍 Android 的 Camera 框架
- 相关数组