• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Python的GUI編程之 Pack、Place、Grid 的區別

    標簽: Python的GUI編程之Pack、Place、Grid的區

               ****Python的GUI編程之 Pack、Place、Grid  的區別****
    

    簡介:

    本文講述如何使用 tkinter 的布局管理 (被稱作 layout managers 或 geometry managers). tkinter 有三種布局管理方式:
    · pack
    · grid
    · place

    注意這三種布局管理在同一個 master window 里一定不可以混用! 布局管理有以下功能:
    · 將控件放置在屏幕上,包括控件的位置及控件的大小
    · 將控件注冊到本地窗口系統中
    · 管理控件在屏幕上的顯示

    雖然控件自己也可以指定大小和對齊方式等信息, 但最終的控件大小及位置還是由布局管理決定的.

    Pack 布局管理

    pack 是三種布局管理中最常用的. 另外兩種布局需要精確指定控件具體的顯示位置, 而 pack 布局可以指定相對位置, 精確的位置會由 pack 系統自動完成. 這也使得 pack 布局沒有另外兩種布局方式靈活. 所以 pack 是簡單應用的首選布局
    fill 控件填充方式
    這里寫圖片描述

    設置組件之間的間隙大小
    ipadx,ipady設置內部間隙
    padx,pady設置外部間隙
    side 順次放置控件

    這里寫圖片描述

    Place 布局管理

    Place 布局管理可以顯式的指定控件的絕對位置或相對于其他控件的位置. 要使用 Place 布局, 調用相應控件的 place() 方法就可以了. 所有 tkinter 的標準控件都可以調用 place()
    方法.

    下面是一個使用 Place 布局的例子: 為 Label 控件設置隨機的背景色, 然后計算各個 Label 的背景色的亮度(灰度值), 如果其亮度小于 120, 則將其前景色(文字顏色, fg屬性)設置為白色, 否則設為黑色. 這樣做是為了避免使背景色和前景色過于接近而導致文字不易閱讀.
    這里寫圖片描述

    這里寫圖片描述

    Grid 布局管理

    Pack 作為首選的布局管理方式,其運作方式并不是特別易于理解. 已經由 Pack 布局完成的設計也很難做出改變. Grid 布局在1996年作為另一種可供選擇的布局方式被引入. Grid 布局方式易學易用, 但似乎大家還是習慣用 Pack.
    Grid 在很多場景下是最好用的布局方式.相比而言, Pack 布局在控制細節方面有些力不從心. Place 布局雖然可以完全控制控件位置, 但這也導致使用 Place 會比其他兩種布局方式更加復雜.
    Grid 把控件位置作為一個二維表結構來維護,即按照行列的方式排列控件: 控件位置由其所在的行號和列號決定. 行號相同而列號不同的幾個控件會被彼此上下排列; 列號相同而行號不同的幾個控件會被彼此左右排列.
    使用 Grid 布局的過程就是為各個控件指定行號和列號的過程. 不需要為每個格子指定大小, Grid 布局會自動設置一個合適的大小.

    這里寫圖片描述

    來源:http://blog.csdn.net/liuxu0703/article/details/54428405

    版權聲明:本文為weixin_39076347原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_39076347/article/details/82258836

    智能推薦

    Django 單步調試

    為什么80%的碼農都做不了架構師?>>>    最近在用 django 寫 應用,發現不好進行單步調試.  不過總算 找到個可以進行單步調試的 插件Django-Pdb 好了,現在說說這個插件是如何使用的. 這是下載鏈接 首先,下載 下來解壓出來 python setup.py install 安裝好后, 在你應用里面 設置 然后在你需要調試的視圖 ...

    在下函數式編程,有何貴干?

    聲明:本文CSDN作者原創投稿文章,未經許可禁止任何形式的轉載。 作者:徐鴻福,多年后端及移動端開發經驗,現任MaxLeap UX團隊成員,主要從事于Android相關開發,目前對Kotlin和Ruby有濃厚興趣。 責編: 錢曙光,關注架構和算法領域,尋求報道或者投稿請發郵件q[email protected],另有「CSDN 高級架構師群」,內有諸多知名互聯網公司的大牛架構師,歡迎架構師加微信qsh...

    kettle8調度監控平臺(kettle-scheduler)開源

    背景 Kettle作為用戶規模最多的開源ETL工具,強大簡潔的功能深受廣大ETL從業者的歡迎。但kettle本身的調度監控功能卻非常弱。Pentaho官方都建議采用crontab(Unix平臺)和計劃任務(Windows平臺)來完成調度功能。所以大家在實施kettle作業調度功能的時候,通常采用以下幾種方式:使用spoon程序來啟動Job,使用crontab或計劃任務,自主開發java程序來調用k...

    機試題:單詞替換

    StringBuffer真的很強大也很好用。...

    可持久化數據結構

    可持久化的前提:本身拓撲結構不變 可持久化解決問題:記錄數據結構的所有歷史版本 核心思想:只記錄每一個版本與上一個版本不一樣的地方 如線段樹:每次修改最多logn點 可持久化trie樹 上一個版本的trie樹種有這個字母的指針就直接copy過來,沒有當前版本就新開一個指針。 數據最多 2242^{24}224 ,每次最多加 252525 個點,所以開 252525 倍數組 如果超過了題目所限我們可...

    猜你喜歡

    vscode實用插件和配置

    vscode前段實用插件集合 小編進過一段時間的使用得出的最適合剛上手vscode的實用插件如下: 這里對這些插件就不一一的解釋了,大部分為代碼智能提示和補全,有些會使代碼變工整,也有的可以使重要部分改變顏色,以及編輯后瀏覽器打開等等。 順帶附上vscode個人設置的代碼(不知道位置的可以在設置中搜setting,settings.json就是的) 一個是用于ctrl+滾軸可以放大代碼,一個是用于...

    品優購項目靜態頁面應用中總結(京東)

    1、line-height 行高=高度:垂直居中 行高<高度:文字偏上 行高>高度:文字偏下 2、添加字體圖標 將字體的font文件夾放入根目錄下 在樣式里聲明自定義字體(注意路徑的正確) 利用CSS3偽元素選擇器給元素添加字體圖標,利用子絕父相確定位置...

    kNN_約會網站匹配效果改進實現代碼

    kNN_約會網站匹配效果改進 【準備數據】數據處理函數 【分析數據】繪制數據散點圖 由數據兩兩對比的三幅散點圖分布可知,取第一列和第二列為x,y軸繪制散點圖(圖一)時,三種類型的人基本分屬于不同的區域。 注:用scatter繪制散點圖時,當數據在列表中未分類時,無法按照顏色給出圖例。 想要顯示圖例,需對數據進行分類,然后分別用不同的scatter繪制,則可有不同分類的圖例。 【準備數據】歸一化特征...

    Java下載Word文件內容丟失

    源文件:   下載后的Word文件: 代碼: 錯誤提示:   希望結果: 與源文件內容格式保持一致。有師傅能解決的幫我下,晴指點一下。謝謝...

    [數據結構]快速排序算法JavaScript版

    快排基本思路 找出一個切割點 找到切割點左右部分的切割點,直到每個被分割的小團體只含一個數字 原理講解 在這里我們有一個長度為7的無規則數字數組,我們將用快排的方法將它從小到大排序。 第一步——找到切割點 一般地,我們選用團體中的第一個元素為切割點,在上圖中即為2 第二步——以切割點為主體,逐個比較大小并重新置位 因為我們是比較切割點與其他元素的大小...

    精品国产乱码久久久久久蜜桃不卡