Python tkinter三種布局例項詳解

2022-10-03 16:21:09 字數 2994 閱讀 2512

一、pack布局舉例

#pack布局案例

import tkinter

basefram程式設計客棧e = tkinter.tk()

# 以下**都是建立乙個元件, 然後布局

btn1 = tkinter.button(baseframe, text =

"a")

btn1.pack(side = tkinter.left, expand =

tkinter.yes, fill = tkinter.y)

​btn2 = tkinter.button(baseframe, text =

"b")

btn2.pack(side = tkinter.top, expand =

tkinter.yes, fill = tkinter.both)

​btn2 = tkinter.bwww.cppcns.comutton(baseframe, text =

"c")

btn2.pack(side = tkinter.right, expand =

tkinter.yes, fill = tkinter.none)

​btn2 = tkinter.button(baseframe, text =

"d")

btn2.pack(side = tkinter.left, expand =

tkinter.no, fill = tkinter.y)

​btn2 = tkinter.button(baseframe, text =

"f")

btn2.pack(side = tkinter.bottom, expand =

tkinter.yes)

​btn2 = tkinter.button(baseframe, text =

"g")

btn2.pack(anchor = tkinter.se)

​baseframe.mainloop()

二、grid布局舉例

1.通用使用方式:元件物件,grid(設定.......)

2.利用row,column編號,都是從0開始

3.sticky:n\e\s\w表示上下左右,用來決定元件從哪個方向開始

4.支援ipadx,padx等引數,跟pack函式含義一樣

5.支援rowspan,columnspan,表示跨行,跨列數量

#pack布局案例

import tkinter

# baseframe = tkinter.tk()

## 以下**都是建立乙個元件, 然後布局

# btn1 = tkinter.button(baseframe, text =

"a")

# btn1.pack(side = tkinter.left, expand =

tkinter.yes, fill = tkinter.y)

## btn2 = tkinter.button(baseframe, text =

"b")

# btn2.pack(side = tkinter.top, expand =

tkinter.yes, fill = tkinter.both)

## btn2 = tkinter.button(base程式設計客棧frame, text =

"c")

# btn2.pack(side = tkinter.right,

expand = tkinter.yes, fill = tkinter.none)#

# btn2 = tkinter.button(baseframe, text =

"d")

# btn2.pack(side = tkinter.left, expand =

tkinter.no, fill = tkinter.y)

## btn2 = tkinter.button(baseframe, text =

"f")

# btn2.pack(side = tkinter.bottom,

expand = tkinter.yes)

## btn2 = tkinter.button(baseframe, text =

"g")

# btn2.pack(anchor = tkinter.se)##

# baseframe.mainloop()

​baseframe2 = tkinter.tk()

​lb1 = tkinter.label(baseframe2, text =

"賬號:")

lb1.grid(row = 0, sticky = tkinter.w)

tkinter.entry(baseframe2).grid(row = 0,

column = 1, sticky = tkinter.e)

​lb2 = tkinter.label(baseframe2, text =

"密碼:")

lb2.grid(row = 1, sticky = tkinter.w)

tkinter.entry(baseframe2).grid(row = 1,

column = 1, sticky = tkinter.e)

​button = tkinter.button(baseframe2,

text = "登入").grid(row = 2, column = 1,

sticky = tkinter.e)

baseframe2.mainloop()

三、place布局

1.明確方位的擺放

2.相對位置布局,隨意改變視窗大小會導致混亂。

3.使用place函式,分為絕對布局和相對布局,絕對布局使用x,y引數

4.相對布局使用relx.rely,relheight,relwidth.

四、原始碼

d61_threeframeoftkinter.py

本文標題: python tkinter三種布局例項詳解

本文位址: /jiaoben/python/297353.html

程序 三種型別,三種狀態

一 程序的概念 程序是執行乙個程式時所分配的資源,資源包括占用的cpu,記憶體等,是乙個動態執行過程。二 程序的組成 正文段使用者資料段 系統資料段 程序控制塊 pcb cpu暫存器值 堆疊 三 程序控制塊pcb 程序控制塊是系統用來控制和管理程序,獲得程序狀態和程序存在特徵的唯一標識。包括 程序標...

MYSQL inserOrUpdate三種寫法

一般資料表中都會不允許插入重複資料,先查詢資料庫中資料,再判斷是否存在,比較麻煩,可以直接用sql語句解決這個問題 1 insert into on duplicate key 無則新增,有則更新 insert into customer code name address createtime v...

Linux三種網路 vmware三種網路模式

nat 網路位址轉換 預設使用vmnet8 原理 nat是network address translate的簡稱 nat計數應用在internet閘道器和路由器上,比如192.168.0.123這個位址要訪問internet,它的資料報就要通過乙個閘道器或者路由器,而閘道器或者路由器擁有乙個能訪問...