python中與label類似的控件是_python中tkinter的使用(控件整理)(一)

1、使用tkinter.Tk() 生成主窗口(window=tkinter.Tk()):

window.title('標題名')修改框體的名字,也可在創建時使用className參數來命名;

window.resizable(0,0)框體大小可調性,分別表示x,y方向的可變性;1表示可變,0表示不可變;

window.geometry('250x150')指定主框體大小;

window.quit()退出;(配合響應事件使用)

window.update_idletasks()

window.update()刷新頁面;

window.mainloop()進入消息循環(必需組件)

2、tkinter中的15種核心組件:

Button按鈕;

Canvas繪圖形組件,可以在其中繪制圖形;

Checkbutton復選框;

Entry文本框(單行);

Text文本框(多行);

Frame框架,將幾個組件組成一組

Label標簽,可以顯示文字或圖片;

Listbox列表框;

Menu菜單;

Menubutton它的功能完全可以使用Menu替代;

Message與Label組件類似,但是可以根據自身大小將文本換行;

Radiobutton單選框;

Scale滑塊;允許通過滑塊來設置一數字值

Scrollbar滾動條;配合使用canvas, entry, listbox,andtext窗口部件的標準滾動條;

Toplevel用來創建子窗口窗口組件。

(在Tkinter中窗口部件類沒有分級;所有的窗口部件類在樹中都是兄弟。)

3、組件的放置和排版(pack,grid,place)

pack組件設置位置屬性參數:

after:將組件置于其他組件之后;

before:將組件置于其他組件之前;

anchor:組件的對齊方式,頂對齊'n',底對齊's',左'w',右'e'

side:組件在主窗口的位置,可以為'top','bottom','left','right'(使用時tkinter.TOP,tkinter.LEFT);

fill:填充方式(Y,垂直,X,水平,BOTH,水平+垂直),是否在某個方向充滿窗口

expand1可擴展,0不可擴展,代表控件是否會隨窗口縮放

grid組件使用行列的方法放置組件的位置,參數有:

column:組件所在的列起始位置;

columnspan:組件的列寬;跨列數

row:組件所在的行起始位置;

rowspan:組件的行寬;rowspam=3? ?跨3行

sticky對齊方式:NSEW(北南東西)上下左右

padx、padyx方向間距、y方向間距(padx=5)place組件可以直接使用坐標來放置組件,參數有:

anchor:組件對齊方式;n, ne, e, se, s, sw, w, nw, or center ; ('n'==N)

x:組件左上角的x坐標;

y:組件左上角的y坐標;

relx:組件左上角相對于窗口的x坐標,應為0-1之間的小數;圖形位置相對窗口變化

rely:組件左上角相對于窗口的y坐標,應為0-1之間的小數;

width:組件的寬度;

heitht:組件的高度;

relwidth:組件相對于窗口的寬度,0-1之間的小數,圖形寬度相對窗口變化;

relheight:組件相對于窗口的高度,0-1之間的小數;

4、使用tkinter.Button時控制按鈕的參數:

anchor:指定按鈕上文本的位置;

background(bg)指定按鈕的背景色;

bitmap:指定按鈕上顯示的位圖;

borderwidth(bd)指定按鈕邊框的寬度;

command:指定按鈕消息的回調函數;

cursor:指定鼠標移動到按鈕上的指針樣式;

font:指定按鈕上文本的字體;

foreground(fg)指定按鈕的前景色;

height:指定按鈕的高度;

image:指定按鈕上顯示的圖片;

state:指定按鈕的狀態(disabled);

text:指定按鈕上顯示的文本;

width:指定按鈕的寬度

padx設置文本與按鈕邊框x的距離,還有pady;

activeforeground按下時前景色

textvariable可變文本,與StringVar等配合著用

5、文本框tkinter.Entry,tkinter.Text控制參數:

background(bg) ??   文本框背景色;

foreground(fg) ???????前景色;

selectbackground   ?選定文本背景色;

selectforeground   ?選定文本前景色;

borderwidth(bd) ???  文本框邊框寬度;

font ??????????????? 字體;

show ?????????   ???文本框顯示的字符,若為*,表示文本框為密碼框;

state ???????????   狀態;

width ???????     ?文本框寬度

textvariable ???   ?可變文本,與StringVar等配合著用

6、標簽tkinter.Label組件控制參數:

Anchor標簽中文本的位置;background(bg)foreground(fg)背景色;前景色;

borderwidth(bd)邊框寬度;width? 、height標簽寬度;標簽高度;

bitmap標簽中的位圖;font字體;

image標簽中的圖片;justify多行文本的對齊方式;

text標簽中的文本,可以使用'\n'表示換行textvariable顯示文本自動更新,與StringVar等配合著用

7、單選框和復選框Radiobutton,Checkbutton控制參數:

anchor文本位置;background(bg)背景色;

foreground(fg)前景色;borderwidth邊框寬度;

width組件的寬度;height組件高度;

bitmap組件中的位圖;image組件中的圖片;

font字體;justify組件中多行文本的對齊方式;

text指定組件的文本;value指定組件被選中中關聯變量的值;

variable指定組件所關聯的變量;indicatoron特殊控制參數,當為0時,組件會被繪制成按鈕形式;

textvariable可變文本顯示,與StringVar等配合著用

8、組圖組件Canvas控制參數

background(bg)背景色;foreground(fg)前景色;

borderwidth組件邊框寬度;width組件寬度;

height高度;bitmap位圖;

image圖片;

繪圖的方法主要以下幾種:

create_arc橢圓圓弧;??create_arc(x1,y1,x2,y2,start=0,extent=120,tag='1')

#x1,y1和x2,y2分別為橢圓圓弧外接矩形的左上角和右下角坐標;

從0度,擴充到120度;圓弧別名為:‘1’;

create_bitmap繪制位圖,支持XBM;

create_image繪制圖片,支持GIF(x,y,image,anchor);

create_line繪制直線;(坐標羅列)

create_oval;繪制橢圓;

create_polygon繪制多邊形(坐標依次羅列,不用加括號,還有參數,fill,outline);

create_rectangle繪制矩形((a,b,c,d),值為左上角和右下角的坐標);

create_text繪制文字(字體參數font,);

create_window繪制窗口;

delete刪除繪制的圖形;delete('all')清除所有圖形;或清除指定別名的圖形;

itemconfig修改圖形屬性,第一個參數為圖形的ID,后邊為想修改的參數;

move移動圖像(1,4,0),1為圖像對象,4為橫移4像素,0為縱移像素,然后用root.update()刷新即可看到圖像的移動,

為了使多次移動變得可視,最好加上time.sleep()函數或canvas.after()函數;

coords(ID)返回對象的位置的兩個坐標(4個數字元組);只要用create_方法畫了一個圖形,就會自動返回一個ID,

創建一個圖形時將它賦值給一個變量,需要ID時就可以使用這個變量名。

after(100)程序在這里暫停100毫秒

對于按鈕組件、菜單組件等可以在創建組件時通過command參數指定其事件處理函數。方法為bind;或者用bind_class方法進行類綁定,bind_all方法將所有組件事件綁定到事件響應函數上。

9、菜單Menu

參數:

tearoff分窗,0為在原窗,1為點擊分為兩個窗口

bg,fg背景,前景

borderwidth邊框寬度

font字體

activebackgound鼠標劃過時背景,同樣有activeforeground,activeborderwidth,disabledforeground

cursor當子菜單分離原窗時,鼠標在子菜單欄上的形狀cursor="arrow""circle""clock""cross""dotbox"

"exchange""fleur""heart""heart""man""mouse""pirate""plus"等圖形

postcommand點擊菜單的回調函數

selectcolor選中時背景色,add_checkbutton控件選中時,√的顏色

takefocus

title當子菜單分離原窗時的標題

type

relief當子菜單分離原窗時的3D效果,relief=RAISED,SUNKEN,FLAT,RIDGE,SOLID,GROOVE

方法:

menu.add_cascade添加子菜單(menu參數為子菜單對象)

menu.add_command添加命令(label參數為顯示內容,command參數為響應函數)

menu.add_separator添加分隔線

menu.add_checkbutton添加確認按鈕,與add_radiobutton用法相同,效果為:點擊時打鉤(variable參數決定綁定變量)

delete刪除

12、彈窗

messagebox的方法:

showerror錯誤提示對話框showinfo信息提示對話框

showwarning警告對話框askokcansel確認或取消;有返回值True、False

askquestion回答問題;有返回值yes、noaskretrycansel重試或取消;有返回值True、False

askyesno回答是非題;有返回值True、Falseaskyesnocancel是、否或取消,有返回值True、False、None

messagebox._show函數的控制參數:

default ????????指定消息框按鈕;

icon ???????????指定消息框圖標;

message ????   指定消息框所顯示的消息;

parent ?????????指定消息框的父組件;

title ??????????標題;

type ???????????類型;

simpledialog模塊參數:

title ??????????指定對話框的標題;

prompt ??????? 顯示的文字;

initialvalue ???指定輸入框的初始值;

filedialog    模塊參數:

filetype ??   ?指定文件類型;

initialdir    ?指定默認目錄;

initialfile    指定默認文件;

title ???    ?指定對話框標題

colorchooser模塊參數:

initialcolor ?  指定初始化顏色;

title ????????? 指定對話框標題;

13、滾動條(Scrollbar)

與其他控件綁定;

1、將這些控件的yscrollcommand選項設置為scrollbar的set方法。

(Scrollbar使用set方法改變slder滑塊的位置)

2、將scrollbar的command選項設置為這些控件的yview方法。(控件使用yview或xview方法改變自身的視圖)

(由于控件代碼執行的先后性,所以借助config方法實現雙向關聯)

參數:

orient ???????????????????????? 方位:VERTICAL垂直;HORIZONTAL水平

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530157.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530157.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530157.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jdbc dao 工具類mysql_Java基于JDBC實現事務,銀行轉賬及貨物進出庫功能示例

本文實例講述了Java基于JDBC實現事務,銀行轉賬及貨物進出庫功能。分享給大家供大家參考,具體如下:1. 轉賬業務轉賬必須執行2個sql語句(update更新)都成功的情況下,提交事務,如果有一個失敗,則2個都回滾事務…

冒險島單機版mysql_冒險島單機版

這款《冒險島單機版》經驗是盛大冒險島的100倍?最新盛大地圖及BOSS,甚至包括盛大沒有地圖BOSS及現金裝備,地圖包括新加坡,馬來西亞,臺灣,可口可樂城,鬧鬼宅邸,暹羅等等?。25駕坐騎&#xff0c…

python與html5搭建聊天室_html5 websocket 新版協議聊天室 服務端(python版)

網上找了很多代碼都是舊版協議的,研究了很久終于弄清楚了 現在發個用新版協議寫的服務端代碼出來(這個代碼是從網上舊版協議改過來的)最要就是握手協議和發送接受字符的方式變了# incodingutf-8import socketimport structimport hashlibimport threading,randomimp…

mysql數據庫開發筆記_MySQL數據庫生成數據庫說明文檔

在半年多前為一個MySQL數據庫生成過數據庫說明文檔,今天要重新生成一份,但是發現完全不記得當時是怎么生成的,只能在網上搜索重來一遍,所以今天特意把這個過程記錄一下。一、安裝使用MySQL數據庫表結構導出器DBExportDoc V1.0 For…

java 字符串緩沖區_詳解Java中字符串緩沖區StringBuffer類的使用

StringBuffer 是一個線程安全的可變的字符序列。它繼承于AbstractStringBuilder,實現了CharSequence接口。StringBuilder 也是繼承于AbstractStringBuilder的子類;但是,StringBuilder和StringBuffer不同,前者是非線程安全的&#…

rabbitmq java文檔_RabbitMQ文檔翻譯——Hello World!(上)

文章主要翻譯自RabbitMQ官方文檔,主要是為了練習英語翻譯,順便學習一下RabbitMQ😶其中也記錄了一些爬過的坑IntroductionRabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwards messages. You can th…

java string 包含http_Java中使用HttpPost上傳文件以及HttpGet進行API請求(包含HttpPost上傳文件)...

一、HttpPost上傳文件public static String getSuffix(final MultipartFile file){if(file null || file.getSize() 0){return null;}String fileName file.getOriginalFilename();return fileName.substring(fileName.lastIndexOf(".")1);}public static JSONObj…

java倒計時跳出窗口_java倒計時彈出框

直接使用java語言寫出一個運行時的彈出框倒計時:package test.dagong.testDecreaseDate;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.sw…

jpa mysql存儲過程_Jpa調用存儲過程及參數

public List findAllEntityListBySearch(Long inputInfoId, int flag) throws Exception {List infoviewListnew ArrayList<>();EntityManager em emf.createEntityManager();try {StoredProcedureQuery storedProcedure em.createStoredProcedureQuery("存儲名稱&…

python從mongodb里取出數據進行可視化_python3 mongoDB數據庫的安裝配置與可視化

python3 mongoDB數據庫的安裝配置與可視化。前天說是要學習如何使用mongoDB的鏈接與安裝。安裝環境&#xff1a; wind10 還是盜版的 磁盤分析&#xff1a;只有一個C盤&#xff0c;步驟&#xff1a;1 . 下載這里下載了對應的msi文件&#xff0c;貌似.zip文件沒有了2 我默認把mon…

idea 注入mapper報錯報紅的幾種解決方案

文章目錄 前言方法1&#xff1a;為 Autowired 注解設置required false方法2&#xff1a;用 Resource 替換 Autowired方法3&#xff1a;在Mapper接口上加上Repository注解方法4&#xff1a;用Lombok方法5&#xff1a;把IDEA的警告關閉掉方法6&#xff1a;不用管他 前言 相信大…

java 調用對象的方法_JAVA調用對象方法的執行過程

JAVA調用對象方法的執行過程&#xff1a;①.編譯器查看對象的聲明類型和方法名。假設調用x.f(parameter), 且隱式參數x聲明為C類型的對象&#xff0c;有可能在C對象中存在多個參數類型和參數個數不同的f的方法{例如&#xff1a;f(int)、f(int,String)和f(String)}&#xff0c;…

java類默認權限_Java 訪問權限控制以及類初始化順序

一. Package在一個項目中&#xff0c;不可以有相同的兩個包名package語句必須是文件中除注釋外第一句程序代碼&#xff0c;否則不能通過編譯。二. Java訪問權限概述類成員&#xff1a;對于一個類&#xff0c;其成員(包括成員變量和成員方法)能否被其他類所訪問&#xff0c;取決…

java http頭 字符串轉日期_springboot~DTO字符字段與日期字段的轉換問題

不會自動轉換string與date主要是這個意思&#xff0c;前端提交的JSON里&#xff0c;日期是一個字符串&#xff0c;而對應后端的實體里&#xff0c;它是一個Date的日期&#xff0c;這兩個在默認情況下是不能自動轉換的&#xff0c;我們先看一下實體實體public class UserDTO {pr…

java super extends_Java繼承和super的用法

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓繼承的關鍵字:extends格式如下: class 子類名 extends父類名{...}例如學生是繼承人類這一父類的.class student extends person{...}如果一個類的聲明沒有使用關鍵字extends,則這個類默認是繼承Object類的.Object是所有類的父類.Ob…

比較abc大小的java_比較abc大小java

比較abc大小java[2021-02-09 04:04:20] 簡介:php去除nbsp的方法&#xff1a;首先創建一個PHP代碼示例文件&#xff1b;然后通過“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推薦&#xff1a;《PH…

海天食品的java開發工作如何_再三個月就秋招了,我想找一份java開發工作,現在應該怎么準備一下?...

在找工作之前&#xff0c;大家都要做一些準備工作&#xff0c;java開發也是如此掌握核心JavaSE首先&#xff0c;從核心Java(JavaSE)開始學習&#xff0c;盡可能地掌握它。你應該了解和掌握一些基本概念&#xff0c;如循環&#xff0c;數組&#xff0c;運算符等等。此外&#xf…

java udp簡單聊天程序_Java基于UDP協議實現簡單的聊天室程序

最近比較閑&#xff0c;一直在抽空回顧一些java方面的技術應用。今天沒什么事做&#xff0c;基于udp協議&#xff0c;寫了一個非常簡單的聊天室程序。現在的工作&#xff0c;很少用到socket&#xff0c;也算是對java網絡編程方面的一個簡單回憶。先看一下效果&#xff1a;實現的…

java9 反應編程_Java9第四篇-Reactive Stream API響應式編程

file我計劃在后續的一段時間內&#xff0c;寫一系列關于java 9的文章&#xff0c;雖然java 9 不像Java 8或者Java 11那樣的核心java版本&#xff0c;但是還是有很多的特性值得關注。期待您能關注我&#xff0c;我將把java 9 寫成一系列的文章&#xff0c;大概十篇左右。Java 9的…

bb10系統支持java嗎_黑莓BB10怎么樣 BlackBerry 10系統好用嗎?

曾幾何時黑莓Blackberry OS是一款十分受用戶歡迎的手機系統&#xff0c;不過隨著手機系統市場已經被蘋果iOS、谷歌安卓、微軟Windows Phone三分天下&#xff0c;致使曾經的黑莓帝國逐漸淪陷&#xff0c;體驗和性能都已經明顯跟不上iOS與安卓等系統的腳步了&#xff0c;也因為如…