精华内容
下载资源
问答
  • 用Tkinter打造GUI开发工具(10)Tkinter的Frame框架部件 Frame框架部件是Tkinter的容器部件,负责安排其它部件的位置,Frame组件采用在屏幕上的矩形区域组织布局,并提供其它部件的填充,也包括Frame框架部件本身,...

    用Tkinter打造GUI开发工具(10)Tkinter的Frame框架部件
    Frame框架部件是Tkinter的容器部件,负责安排其它部件的位置,Frame组件采用在屏幕上的矩形区域组织布局,并提供其它部件的填充,也包括Frame框架部件本身,一个框架也可以用来作为一个基础类,以实现复杂的构件。
    窗口画面布局过程:
    首先建立布局,即主窗口布局。用不同颜色和大小的Frame类进行填充,调整位置直到自己满意。
    然后设计不同功能的子窗口,子窗口就是Frame类,各种小部件,例如Label,Button等,放在其中,调整好容器大小和位置。
    最后将需要的Frame类显示到主窗口中。根据需要可以程序控制不同功能的Frame类显示或隐藏到对应的主窗口布局中。
    Frame语法格式:
    frame = tk.Frame ( master, option, … )
    参数master 这代表了父窗口。options是这个部件的属性选项列表。
    在这里插入图片描述
    我们看一个简单 Frame的例子,这个例子主要看borderwidth 和relief的效果。

    # -*- coding: utf-8 -*-
    import tkinter as tk  #装载tkinter模块,用于Python3
    
    root=tk.Tk()  #创建Tkinter主窗口
    root.title("Frame演示")
    labels=[]  #标签列表
    reliefs=[tk.FLAT,tk.SUNKEN,tk.RAISED,tk.GROOVE,tk.RIDGE]
    i=0
    for color in ['blue','yellow','red','purple','pink']:
        f = tk.Frame(root,  borderwidth=1,bg=color,relief=reliefs[i],bd=20,width=100,height=100,container=True)
        f.pack(side=tk.LEFT)
        i+=1
    
    root.mainloop()     # 进入消息循环
    

    程序运行结果出现下图。
    在这里插入图片描述
    Frame框架部件,通常用来布局规划。我们想把一个框架分成上下2个子框架,就可以使用Frame框架部件的嵌套来实现。我们在HP_tk2.py中设计了一个View类,kind参数可选“口”,“日”,“目”,orient参数决定垂直或水平方向。
    新View的属性:
    1)View.m 表示划分了几个窗口,如果kind=‘目’, View.m=3。
    2)访问这些窗口用。
    a. 因为m=3,窗口有 View.v1 ,View.v2,View.v3。
    b. 因为m=3,窗口有 View.v[0] ,View.v[1],View.v[2]。
    c. kind=‘目’,因此窗口有View.top ,View.center,View.bottom。
    3)View窗口可以嵌套,每个子窗口都能做其它View窗口的上级master的入口。即View容器无限嵌套。用户要记住每层的窗口名字,通过名字来访问。
    每个子窗都是容器,因此也可以通过类BackPicture,来放置一张图片。

    下面给出示例程序。

    # -*- coding: utf-8 -*-
    import tkinter as tk  #装载tkinter模块,用于Python3
    from HP_tk2 import *  #荷蒲tkinter增强模块
    root=tk.Tk()  #创建Tkinter主窗口
    root.title("View演示,kind=目,orient=tk.VERTICAL")
    width=500  #把窗口宽度(单位:像素)500赋值给变量width
    height=200  #把窗口高度(单位:像素)200赋值给变量height
    x,y=150,250  #给屏幕坐标(x,y)赋值(150,250)
    root.geometry('{}x{}+{}+{}'.format(width,height, x, y))  #改变窗口位置和大小
    
    v=View(root,bg='red',kind='目',orient=tk.VERTICAL)  #把主窗划分为3 
    v.v1['bg']='blue'
    v.v2['bg']='yellow'
    v.v3['bg']='green'
    
    v2=View(v.left,bg='green',kind='日')  #在子窗1划分
    v3=View(v.center,bg='red',kind='目')  #在子窗2划分
    v4=View(v.right,bg='blue',kind='目',orient=tk.VERTICAL)  #在子窗3划分
    v4.right['bg']='yellow'  #把最右面窗口底色改为黄色
    
    root.mainloop()     # 进入消息循环
    

    程序运行结果.
    在这里插入图片描述
    使用Frame框架部件更容易规划窗口布局.

    最近又继续深化学习Tkinter技术,又实现了2个小功能.距离可视化设计又进了一步.

    1.移动Tkinter控件操作.
    在这里插入图片描述

    2.调整tkinter控件的大小.
    在这里插入图片描述

    展开全文
  • import Tkinter,time class MyFrame(Tkinter.Frame): def __init__(self): Tkinter.Frame.__init__(self) self.grid() self.canvas = Tkinter.Canvas(self, bg='black',width=self
    import Tkinter,time
    class MyFrame(Tkinter.Frame):
        def __init__(self):
            Tkinter.Frame.__init__(self)
            self.grid()
            self.canvas = Tkinter.Canvas(self, bg='black',width=self.winfo_screenwidth(),height=self.winfo_screenheight())
            self.canvas.pack()
            self.top = self.winfo_toplevel()
            
    #       self.top.update_idletasks()
            self.top.overrideredirect(True)
            
            self.exitButton=Tkinter.Button(self,text='Exit',command=self.doExit)
            self.exitButton.pack()
            self.Label1=Tkinter.Label(self,text='Hello')
            self.Label1.pack()
            self.exitButton.config()
    #       self.pack(fill='both')
            self.trickit(5)
            app.mainloop()
        def doExit(self):
            
            pather=self.winfo_parent()
            pather.quit()
            self.quit()
        def trickit(self,num):
            for j in range(num,0,-1):
                self.Label1["text"]=j
                self.update()
                time.sleep(1)
            self.doExit()

    还没完工,倒计时没显示出来

     

    改进版的:

    import Tkinter,sys,time
    class BeBig():
        root=Tkinter.Tk()
        Label1=Tkinter.Label(root,text=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
        def beBig(self):
            
            self.root.minsize(self.root.winfo_screenwidth(), self.root.winfo_screenheight())
            #self.root.geometry('300x200-100-100')
            self.root.config(bg='black')
            self.Label1.pack()
            topTitle=self.root.winfo_toplevel()
            topTitle.overrideredirect(True)
            self.trickit(5)
            self.root.mainloop()
        def trickit(self,num):
            for j in range(num,0,-1):
                self.Label1["text"]=j
                self.root.update()
                time.sleep(1)
                
            self.root.destroy()
    beBig=BeBig()
    beBig.beBig()

     

    展开全文
  • Python_给tkinter的frame加滚动条

    万次阅读 2018-02-17 09:56:11
    问题背景:当界面需要显示内容较多时,需要用到滚动条Scrollbar,官方文档说Scrollbar只能与以下控件(canvas, entry, listbox, text)相结合。但是,如果我想让Scrollbar和frame相结合呢? 解决办法是:把...

    问题背景:当界面需要显示的内容较多时,需要用到滚动条Scrollbar,官方文档说Scrollbar只能与以下控件(canvas, entry, listbox, text)相结合。但是,如果我想让Scrollbar和frame相结合呢?


    解决办法是:把frame放在canvas里面(比如填满整个canvas),canvas与scrollbar结合,这样滚动canvas就等于滚动frame了。

    举个栗子

    canvas=Canvas(root,width=200,height=180,scrollregion=(0,0,520,520)) #创建canvas
    canvas.place(x = 75, y = 265) #放置canvas的位置
    frame=Frame(canvas) #把frame放在canvas里
    frame.place(width=180, height=180) #frame的长宽,和canvas差不多的
    vbar=Scrollbar(canvas,orient=VERTICAL) #竖直滚动条
    vbar.place(x = 180,width=20,height=180)
    vbar.configure(command=canvas.yview)
    hbar=Scrollbar(canvas,orient=HORIZONTAL)#水平滚动条
    hbar.place(x =0,y=165,width=180,height=20)
    hbar.configure(command=canvas.xview)
    canvas.config(xscrollcommand=hbar.set,yscrollcommand=vbar.set) #设置  
    canvas.create_window((90,240), window=frame)  #create_window

    当然,如果是纯文本的滚动,可以选择scrolltext组件,它的函数和text一样,可以参考一下这个链接 https://www.jianshu.com/p/abea88607525

    展开全文
  • tkinterFrame

    2019-04-12 12:32:00
    tkinter的Frame即容器,在容器内部好像不能再嵌套一个Frame。 转载于:https://www.cnblogs.com/jums/p/10695317.html

    tkinter的Frame即容器,在容器内部好像不能再嵌套一个Frame。

    转载于:https://www.cnblogs.com/jums/p/10695317.html

    展开全文
  • 【PYTHON】tkinterFrame

    2019-04-12 12:32:00
    tkinter之Frame tkinter的Frame即容器,在容器内部好像不能再嵌套一个Frame。 posted @ 2019-04-12 12:32 东京的樱花在巴黎飘下 阅读(...) 评论(...) 编辑 收藏
  • Python TkinterFrame控件(Python GUI 系列4)

    万次阅读 多人点赞 2018-04-22 13:06:15
    本章介绍Tkinter的Frame控件,本文是Python GUI系列的第4篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。 2. 环境信息 **********************...
  • Tkinter-Frame

    千次阅读 2018-07-06 16:52:12
    The Tkinter Frame WidgetFrame(框架)组件是在屏幕上一个矩形区域。Frame 主要是作为其他组件框架基础,或为其他组件提供间距填充。何时使用 Frame 组件? Frame 组件主要用于在复杂布局中将其他组件分组,...
  • tkinter-frame

    2020-07-20 09:48:50
    frame控件 frame控件是一个显示为矩形的控件,...main_win.title('渔道的Frame控件') width = 300 height = 300 main_win.geometry(f'{width}x{height}') frm = Frame(main_win, width=50, height=50, background='
  • TKinterFrame

    2020-01-29 15:03:36
    Frame框架 相当于web框架中div 容器 不写width和height属性时候默认为无,及只有一个点 import tkinter # 复选框组件 root = tkinter.Tk() root.geometry('500x500') # 创建组件 f1 = tkinter....
  • tkinterframe布局控件

    千次阅读 2019-10-03 06:15:25
    frame控件 frame控件是将窗口分成好几个小模块,然后每个小模块中添加控件。 也就是将窗口合理布局 由于和其他控件操作基本一致,就不做注释了 1 import tkinter 2 3 wuya = tkinter.Tk() 4 wuya....
  • frame:一个框架,里面可以放各种小部件,说白了,就是一个长在窗口里窗口。 示例代码: import tkinter as tk # 1.创建窗口(window) window = tk.Tk() # 2.设置窗口(window)属性 window.title("my-...
  • Python之tkinter 框架Frame的基本应用

    千次阅读 2020-03-15 10:32:40
    文章目录框架Frame框架Frame的初步运用在框架内创建Widget控件活用relief 属性在含有raised属性框架内创建复选框额外对relief属性支持标签框架LabelFrame标签框架基本概念将标签框架用于复选框顶层窗口 ...
  • tkinter 09 Frame 框架

    2018-04-16 17:49:00
    # Frame 是一个在 Windows 上分离小区域部件, 它能将 Windows 分成不同区,然后存放不同其他部件. # 同时一个 Frame 上也能再分成两个 Frame, Frame 可以认为是一种容器. # 运行结果:https://...
  • tkinter——frame部件

    千次阅读 2018-03-30 10:01:57
    也在学习中,这些都是... Frame 部件###定义一个`label`显示`on the window`tk.Label(window, text='on the window').pack()###在`window`上创建一个`frame`frm = tk.Frame(window)frm.pack()###在刚刚创建`fram...
  • Python GUI编程(Tkinter)作者:杨梦鸽校对:翟舒青Python 提供了多个图形开发界面库,几个常用 Python GUI 库如下:TkinterTkinter 模块(Tk 接口)是 Python 标准 Tk GUI 工具包接口 .Tk 和 Tkinter 可以在...
  • Python--tkinterFrame

    2020-01-11 23:27:00
    框架,用来承载放置其他GUI元素,就是一个容器,是一个window上分离小区域部件,他能将windows分成不同区,然后存放不同其他部件,同时一个Frame上也能再分为两个FrameFrame可以认为是一种容器。 案列如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 963
精华内容 385
关键字:

tkinter的frame