99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀python GUI編程(Tkinter)_python gui tkinter
python GUI編程(Tkinter)_python gui tkinter
2017-01-01
收藏

python GUI編程(Tkinter)_python gui tkinter

python提供了多個(gè)圖形開(kāi)發(fā)界面的庫(kù),幾個(gè)常用Python GUI庫(kù)如下:
Tkinter: Tkinter模塊(“Tk 接口”)是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺(tái)下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)里.,Tk8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中。
wxPython:wxPython 是一款開(kāi)源軟件,是 Python 語(yǔ)言的一套優(yōu)秀的 GUI 圖形庫(kù),允許 Python 程序員很方便的創(chuàng)建完整的、功能鍵全的 GUI 用戶界面。
Jython:Jython程序可以和Java無(wú)縫集成。除了一些標(biāo)準(zhǔn)模塊,Jython使用Java的模塊。Jython幾乎擁有標(biāo)準(zhǔn)的Python中不依賴于C語(yǔ)言的全部模塊。比如,Jython的用戶界面將使用Swing,AWT或者SWT。Jython可以被動(dòng)態(tài)或靜態(tài)地編譯成Java字節(jié)碼。
Tkinter 編程
Tkinter 是Python的標(biāo)準(zhǔn)GUI庫(kù)。Python使用Tkinter可以快速的創(chuàng)建GUI應(yīng)用程序。
由于Tkinter是內(nèi)置到python的安裝包中、只要安裝好Python之后就能import Tkinter庫(kù)、而且IDLE也是用Tkinter編寫(xiě)而成、對(duì)于簡(jiǎn)單的圖形界面Tkinter還是能應(yīng)付自如。
創(chuàng)建一個(gè)GUI程序
1、導(dǎo)入Tkinter模塊
2、創(chuàng)建控件
3、指定這個(gè)控件的master, 即這個(gè)控件屬于哪一個(gè)
4、告訴GM(geometry manager)有一個(gè)控件產(chǎn)生了。
實(shí)例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import Tkinter
top = Tkinter.Tk()
# 進(jìn)入消息循環(huán)
top.mainloop()
以上代碼執(zhí)行結(jié)果如下圖:

實(shí)例2:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *           # 導(dǎo)入 Tkinter 庫(kù)
root = Tk()                     # 創(chuàng)建窗口對(duì)象的背景色
                                # 創(chuàng)建兩個(gè)列表
li     = ['C','python','php','html','SQL','java']
movie  = ['CSS','jQuery','Bootstrap']
listb  = Listbox(root)          #  創(chuàng)建兩個(gè)列表組件
listb2 = Listbox(root)
for item in li:                 # 第一個(gè)小部件插入數(shù)據(jù)
    listb.insert(0,item)

for item in movie:              # 第二個(gè)小部件插入數(shù)據(jù)
    listb2.insert(0,item)

listb.pack()                    # 將小部件放置到主窗口中
listb2.pack()
root.mainloop()                 # 進(jìn)入消息循環(huán)
以上代碼執(zhí)行結(jié)果如下圖:

Tkinter 組件
Tkinter的提供各種控件,如按鈕,標(biāo)簽和文本框,一個(gè)GUI應(yīng)用程序中使用。這些控件通常被稱為控件或者部件。
目前有15種Tkinter的部件。我們提出這些部件以及一個(gè)簡(jiǎn)短的介紹,在下面的表:數(shù)據(jù)分析培訓(xùn)

標(biāo)準(zhǔn)屬性
標(biāo)準(zhǔn)屬性也就是所有控件的共同屬性,如大小,字體和顏色等等。

Tkinter控件有特定的幾何狀態(tài)管理方法,管理整個(gè)控件區(qū)域組織,一下是Tkinter公開(kāi)的幾何管理類(lèi):包、網(wǎng)格、位置

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }