1. 程式人生 > >Python GUI程式設計-1.2 圖形介面之GUI基本屬性設定

Python GUI程式設計-1.2 圖形介面之GUI基本屬性設定

接下來我們將學習設定GUI程式最基本的屬性設定:元件尺寸、元件選項、視窗標題,演示的GUI程式是1.1中的“hello world”程式

元件尺寸調整

1.1中的“hello world”程式展現的效果並不理想,標籤是緊貼上層父視窗,沒有隨著放大而調整居中,我們可以通過一組pack選項來改進顯示效果,使標籤隨著視窗放大而調整居中,程式碼如下:

from tkinter import *
root = Tk()
Label(root, text="Hello GUI World!").pack(expand=YES, fill=BOTH)
root.mainloop()

效果如圖所示


當元件使用pack方法時,可以設定元件是否應該佔據所有空間,如果可以擴充套件,它應該以什麼拉伸方式來佔據。預設設定是元件不隨父元件的擴充套件而擴充套件。但指令碼中的expand=YES和fill=BOTH設定允許標籤隨著父元件(主視窗)來擴充套件。

expand=YES選項

    要求打包幾何管理器為元件擴充套件空間,通常可以是父元件中任何未被佔用的空間

fill=BOTH

    可用來拉伸元件,使其充滿分配空間

這兩個選項組合在一起可產生不同的佈局和尺寸調整效果,有時候只在主視窗容納多個元件時候才會有明顯得效果。如,只使用expand選項可以讓元件居中,並顯示在擴充套件的空間中,fill選項可以設定僅垂直拉伸fill=Y,僅水平拉伸fill=x,還是兩者都拉伸fill=BOTH。

設定元件選項和視窗標題

在學完尺寸調整之後,我們接下來看一下如何設定元件選項和視窗標題

老規矩先上程式碼:

from tkinter import *
root = Tk()
Label(root, text="Hello GUI World!").pack(expand=YES, fill=BOTH)
root.title('BasicAttribute.py')
root.mainloop()

效果示意圖:


留意第四行呼叫了title方法,這個呼叫設定了在視窗標題欄顯示的標籤

目前在標籤建構函式中設定文字關鍵字引數,我們可以讓tkinter在標籤上顯示出想要的文字以外,我們還有兩種方法可以進行元件的配置,先來通過程式碼來看一下如何實現的

方法一:

from tkinter import *
root = Tk()
wedget = Label()
wedget['text']="Hello GUI World!"
wedget.pack(side=TOP, fill=BOTH, expand=YES)
root.title('BasicAttribute.py')
root.mainloop()

text選項在標籤建立後設置,方法是向元件指定文字關鍵字。載入的元件物件對操作做索引,這樣一來,選項也可以用來做對映鍵,就像字典一樣

方法二:

from tkinter import *
root = Tk()
wedget = Label()
wedget.config(text="Hello GUI World!")
wedget.pack(side=TOP, fill=BOTH, expand=YES)
root.title('BasicAttribute.py')
root.mainloop()
這一個方法是最常用的方法,在元件建立後,呼叫元件的config方法來進行元件選項設定。config方法可在元件建立後的任何時間呼叫,改變螢幕上元件的外觀

相關推薦

Python GUI程式設計-1.2 圖形介面GUI基本屬性設定

接下來我們將學習設定GUI程式最基本的屬性設定:元件尺寸、元件選項、視窗標題,演示的GUI程式是1.1中的“hello world”程式元件尺寸調整1.1中的“hello world”程式展現的效果並不理想,標籤是緊貼上層父視窗,沒有隨著放大而調整居中,我們可以通過一組pac

python網路程式設計學習(2-1)

使用多路服用套接字I/O提升效能 1.使用ForkingMixIn:為每個客戶端建立一個新的程序 (1)建立ForkingServer,繼承於TCP Server和ForkingMixIn類,前一個類可以完成伺服器的基本操作,後一個則是可以非同步處理客戶端 (2)ForkingServer類需

Matlab第六課:圖形介面GUI程式設計

目標: Graphical User Interface 一、MATLAB GUI Programs 開始完成一個GUI程式: 1.建立一個資料夾,儲存程式 2.使用 guide 命令在命令列建立一個matlab GUI 介面 3.可以拖動元件,建立GUI

Python圖形介面Tkinter簡單用法

前言 Tkinter 是 Python 標準的 GUI 工具包包含在Python標準安裝包中,所以無需再另外安裝。我個人覺得使用 Tkinter 建立 GUI 介面相比於 PyQt 來說程式碼更加簡潔,不過看個人愛好吧,只要熟悉這些 GUI 工具包過後使用起來都不算難,關鍵是找到自己

mooc-python語言程式設計練習2-基本圖形繪製turtle

1.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬# 00390031003900310038427 哪個選項不能正確引用turtle庫進而使用setup()函式?‪‬‪‬‪‬

(shell練習2)zenity圖形介面進度條,滑動塊,輸入、警告、錯誤、顯示對話方塊

1,程式執行進度條(這個比較好玩,有時候需要檢視某個操作的進度,可以使用這種方法) #!/bin/bash #1,自建進度條 #進度條內上要顯示的內容 ( echo "50"; sleep 1 tar -zcvf aaa.tar.gz practice/*; sleep 1 echo "1

(shell練習1)zenity圖形介面資訊對話方塊和單複選對話方塊,以及while,for迴圈的練習

涵蓋內容包括 1,shell的while迴圈 2,shell的for迴圈 3,shell關於字串的擷取(精華之處) 4,shell的選擇分支語句if 5,zenity資訊對話方塊 6,zenity單選對話方塊 7,zenity複選對話方塊  8,shell不

Python GUI程式設計-1.7 Bound方法

讓我們回到GUI程式設計,儘管函式和lambda表示式在許多情況下已經夠用,類例項的bound方法在GUI程式中作為回撥處理器特別好用,它們既可以記錄事件傳送的目標例項也可以記錄相關方法呼叫的例項。例如:from tkinter import * class HelloC

JAVA圖形介面GUI表格

表格(JTable)是我們在GUI開發中很常用的一個元件。表格在視覺化程式設計中用於顯示資訊,在Swing程式設計中非常有用,當要顯示大量資料時,用表格可以清晰的顯示出來。 本篇部落格將演示JTabl

Python與Qt UI的圖形介面程式設計(三)

Qt提供了很多關於獲取窗體位置及顯示區域大小的函式,本例項利用一個簡單的對話方塊顯示窗體的各種位置資訊,包括窗體的所在點位置,長,寬資訊等。本例項的目的是分析各個有關位置資訊的函式之間的區別,如x(),y(),pos(),rect(),size(),geometry()等

程式設計導論(Java)·3.1.2 方法》 副作用

4. 副作用 在一些語言如Pascal中,子程式被分成兩種:函式和過程。雖然Java沒有強制性地要求將方法區分為命令和函式,然而這種區別對於良好地設計程式有很大的幫助[1]。 首先說明一個概念:副作用(side effect)。副作用一般是針對操作(表示式)而言的,一個操作

Python與Qt UI的圖形介面程式設計(一)

本例項實現一個"Hello Kitty!"例子,簡單介紹Qt程式設計的基本流程,以及Qt程式的編繹執行方式,例項效果圖如圖所示。   這是一個簡單的例子,整個對話方塊只有一個按鈕,單擊該按鈕,對話方塊關閉,退出程式。 實現程式碼如下: from PyQt4.QtGu

python爬蟲系列(1.2-urllib模組中request 常用方法)

一、request.Request方法的使用 上一章節中介紹了request.urlopen()的使用,僅僅的很簡單的使用,不能設定請求頭及cookie的東西,request.Request()方法就是進一步的包裝請求. 1、原始碼檢視引數 class Request: &nb

python自動化-作業1-2——A

多級選單: 1.三級選單 2.可以依次選擇進入各個子選單 3.各個選單都可擴充套件選項   缺點:   1.多級選單不能擴充套件等級。 select = { '中國': [ {'北京': ['東城區', '西城區', '平谷區', '懷柔區','大興區','昌平區',

python併發程式設計1

主程序和子程序 執行結果: 一旦程序建立後,程序就由作業系統排程 程式碼解析: 子程序與父程序 所以主程序的父程序就是pycharm args傳參 一個引數 兩個引數 join作用(建立多個執行緒):

Python程式設計筆記2

一、字串和編碼 1、字元編碼 過程:ASCII ==》Unicode ==》utf-8 ASCII編碼:一個位元組,127個字元; Unicode將所有語言都統一到一套編碼中,解決了亂碼的問題。Unicode最常用的用 2 個位元組表示一個字元(若要用到非常偏僻

《HttpClient官方文件》1.2 HttpClient 介面

原文連結 1.2. HttpClient 介面 HttpClient 介面表示最基本的HTTP請求執行要約。它不會對請求執行過程加上約束或一些特定的資訊,並且保留連線管理,狀態管理,認證和處理重定向的細節到各自的實現中。這會使它更方便的使用額外功能來裝飾介面,如響應內容快取。 通常來說, H

Python求出 1+2!+3!+...+20!的和

在不使用遞迴函式,使用迴圈巢狀的情況下實現1+2!+3!+…+20!的和 也就是 1+(1×2)+(1×2×3)+(1×2×3×4) sum=0 #定義和的變數 sum n=1 #定義累乘的初始值 for i in range(1,21): #range函式(1

(轉)Python下使用Tkinter 製作圖形介面

1.tkinter tkinter是Python下面向tk的圖形介面介面庫,可以方便地進行圖形介面設計和互動操作程式設計。tkinter的優點是簡單易用、與Python的結合度好。tkinter在Python 3.x下預設整合,不需要額外的安裝操作;不足之處為缺少合適

J2se 圖形介面佈局設計

在介面設計中,一個容器要放置許多元件,為了美觀,為元件安排在容器中的位置,這就是佈局設計。java.awt中定義了多種佈局類,每種佈局類對應一種佈局的策略。常用的有以下佈局類: FlowLayout,依次放置元件。 BoarderLayout,將元件放置在邊界上。 Card