免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
python之gui
0.簡(jiǎn)介 這是一個(gè)VB6的ADDIN(外接程序),用于使用VB6開(kāi)發(fā)工具直接拖放控件,直接可視化完成Python的TKinter的GUI布局和設(shè)計(jì),可以在VB界面上設(shè)置 控件的一些屬性,最終自動(dòng)生成必要的代碼(包括回調(diào)函數(shù)框架),代碼生成后僅需要在對(duì)應(yīng)的回調(diào)函數(shù)中增加相應(yīng)的邏輯功能代碼即可。 這個(gè)工具支持絕大部分TKiner控件,可應(yīng)付一般GUI的需求。(列表參見(jiàn)下面的控件說(shuō)明)。1.適用對(duì)象 適用于學(xué)習(xí)了TKinter并不想太麻煩寫(xiě)GUI代碼,也不想用其他工具和框架,比如wxPython,PyQt4的同學(xué)。 適用于界面不太復(fù)雜的小程序開(kāi)發(fā),界面復(fù)雜的還是適用wxPython等框架吧。因?yàn)門(mén)Kinter為Python標(biāo)準(zhǔn)庫(kù),使用TKinter完成的Python程序可以稱(chēng)為 “綠色軟件”,不需要目標(biāo)機(jī)器上安裝wxPython,PyQt4等框架,只要有Python的機(jī)器就能運(yùn)行。
  如果軟件邏輯不是很復(fù)雜,通常一個(gè)*.py搞定,不像其他框架,需要幾個(gè)文件。 2.使用方法簡(jiǎn)介 2.1 首先注冊(cè)此插件,可以使用自帶的安裝程序,或自己手動(dòng)完成。 2.2 打開(kāi)VB6,新建一個(gè)標(biāo)準(zhǔn)EXE工程,在窗體上設(shè)計(jì)自己的GUI布局,這個(gè) 工作估計(jì)沒(méi)有VB基礎(chǔ)的同學(xué)都可以完成,同時(shí)可以設(shè)置相應(yīng)的控件屬性。 2.3 如果使用自帶安裝程序安裝了插件,現(xiàn)在VB的工具條上應(yīng)該有一個(gè)新 圖標(biāo)(一片橙紅色羽毛),如果沒(méi)有,到菜單"外接程序"|"外接程序管理器" 里面啟動(dòng)Visual Tkinter,Visual Tkinter圖標(biāo)和菜單應(yīng)該會(huì)出現(xiàn)。 2.4 啟動(dòng)Visual Tkinter后,先按“刷新窗體列表”按鈕,列出當(dāng)前工程的所有 窗體和控件列表。 2.5 逐個(gè)確認(rèn)各控件的輸出屬性,在要輸出的選項(xiàng)前打鉤,如果必要, 可以在屬性列表中雙擊修改屬性的值。(一般情況不需要再修改控件屬性)。 VisualTkinter盡量的將VB控件屬性翻譯成Tkinter控件屬性,比如字體、顏色 初始值、外觀、狀態(tài)等,甚至包括按鈕類(lèi)和菜單的快捷鍵設(shè)置等待。 當(dāng)然了,如果部分屬性沒(méi)有對(duì)應(yīng)關(guān)系的,需要在VisualTkinter界面上設(shè)置。 2.6 按“生成代碼”按鈕則在代碼預(yù)覽窗口生成代碼,可以雙擊代碼預(yù)覽窗口 放大閱讀,也可以直接修改代碼。 2.7 確認(rèn)完成后可以將代碼拷貝到剪貼板或保持到文件。 布局可以使用百分比定位(相對(duì)定位)或絕對(duì)坐標(biāo)定位(按像素定位), 百分比定位為有一個(gè)好處,主界面大小變化后,控件也可以相對(duì)變化大小。 如果不希望主界面大小變化后控件跟隨變化,可以選擇絕對(duì)坐標(biāo)定位。 注:如果修改了以前設(shè)計(jì)的界面,可以選擇僅輸出main函數(shù)或界面生成類(lèi)。 不影響外部已經(jīng)實(shí)現(xiàn)的邏輯代碼。 2.8 如果程序有多個(gè)GUI界面,可以在VB工程中添加窗體,就可以選擇產(chǎn)生 哪個(gè)窗體的對(duì)應(yīng)代碼。 2.9 針對(duì)結(jié)構(gòu)化代碼,如果要在Python代碼中引用和修改其他控件的值, 可以使用全局字典gComps,這個(gè)字典保存了所有的GUI元素和一些對(duì)應(yīng)的 控件變量,可以直接使用形如gComps["Text1Var"].set("new Text")的代碼 來(lái)訪問(wèn)對(duì)應(yīng)控件。 如果輸出的是面向?qū)ο蟠a,則可以在界面派生類(lèi)Application中直接訪問(wèn) 對(duì)應(yīng)的控件。 2.10 一般的GUI框架都會(huì)將UI部分和邏輯代碼部分分別放在不同的文件中,在 邏輯代碼文件中導(dǎo)入U(xiǎn)I文件,實(shí)現(xiàn)修改UI不影響邏輯代碼。因?yàn)閷?duì)于實(shí)現(xiàn) 簡(jiǎn)單的程序來(lái)說(shuō),我偏愛(ài)單文件,所以我將UI類(lèi)和邏輯代碼類(lèi)都放在同一個(gè) 文件中,在修改界面后,你可以直接覆蓋對(duì)應(yīng)的Application_ui類(lèi)即可實(shí)現(xiàn) 界面的變更,不過(guò)如果增加了新的事件回調(diào)函數(shù),需要在子類(lèi)Application 中增加才行。3.目前支持的控件列表 3.1 Label 標(biāo)簽條在VB和Python中基本一樣。如果不啟用ttk,則在文本中插入\n來(lái)?yè)Q行, 如果啟用了ttk,則只支持單行文本(多行可以使用Message控件實(shí)現(xiàn))。 3.2 TextBox Python文本框有兩種:Entry和Text,如果VB的TextBox的MultiLine=False,則 生成Entry,否則生成Text。 3.3 Frame 對(duì)應(yīng)Python的LabelFrame控件,做為其他控件的容器,或做為界面元素視覺(jué)分類(lèi)。 3.4 CommandButton 對(duì)應(yīng)Python的Button,沒(méi)有太多區(qū)別。 為了代碼簡(jiǎn)潔,窗體的退出按鈕可以設(shè)置Cancel屬性為T(mén)rue,然后程序自動(dòng)生成 對(duì)應(yīng)Tkinter的destroy回調(diào),這樣就不需要再實(shí)現(xiàn)一個(gè)回調(diào)函數(shù)。 在VB里面字母前增加一個(gè)"&"符號(hào)可以直接綁定一個(gè)快捷鍵Alt+對(duì)應(yīng)字母, VisualTkinter也支持此設(shè)置,自動(dòng)生成對(duì)應(yīng)的事件綁定代碼。 其他控件比如Checkbox等有"標(biāo)題"屬性的控件一樣如此處理。 3.5 CheckBox 多選按鈕對(duì)應(yīng)Python的Checkbutton。 3.6 OptionButton 單選按鈕對(duì)應(yīng)Python的Radiobutton。 3.7 ComboBox 組合框在Tkinter中沒(méi)有對(duì)應(yīng)的控件,比較類(lèi)似的只有OptionMenu,類(lèi)似ComboBox 的Style=2 (Dropdown List)時(shí)的表現(xiàn),一個(gè)下拉列表,只能在列表中選擇一個(gè)值, 不能直接輸入。所以建議在VB的ComboBox中寫(xiě)下所有的下拉列表值。 如果啟用了TTK主題擴(kuò)展庫(kù)支持,則直接對(duì)應(yīng)到TTK的Combobox,外形和行為基本 一致。 3.8 ListBox 列表框?qū)?yīng)Python的Listbox,行為也類(lèi)似,可以在設(shè)計(jì)階段設(shè)置初始列表。 如果需要滾動(dòng),則在適當(dāng)位置創(chuàng)建滾動(dòng)條,然后在Addin界面選擇其xscrollcommand 和yscrollcommand屬性為對(duì)應(yīng)滾動(dòng)條的.set方法。 3.9 HScrollBar, VScrollBar 滾動(dòng)條在Python中為Scrollbar,通過(guò)設(shè)置orient來(lái)控制水平還是垂直。 3.10 Slider 類(lèi)似對(duì)應(yīng)Python中的Scale。 3.11 PictureBox 簡(jiǎn)單對(duì)應(yīng)到Python中的Canvas,用做其他控件的容器或畫(huà)圖容器使用。 如果需要滾動(dòng),則在適當(dāng)位置創(chuàng)建滾動(dòng)條,然后在Addin界面選擇其xscrollcommand和 yscrollcommand屬性為對(duì)應(yīng)滾動(dòng)條的.set方法。 3.12 Menu 可以使用VB的菜單編輯器來(lái)設(shè)計(jì)Python的菜單。 在VB中的菜單標(biāo)題為"-"是分隔條。 也可以在正常的菜單標(biāo)題中增加(&+字母)的方式添加快捷鍵。 3.13 Line 可以用于組織復(fù)雜界面,僅支持水平或垂直線。 =================================================== 以下的控件需要在VB的'控件工具箱'中按右鍵添加'部件',選擇 'Microsoft Windows Common Controls 6.0' ==================================================== 3.14 ProgressBar 對(duì)應(yīng)到Python的Progressbar,需要啟用TTK主題擴(kuò)展(默認(rèn)) 3.15 TreeView 對(duì)應(yīng)到Python的Treeview,樹(shù)形顯示控件,可以選擇是否顯示標(biāo)題行, 需要啟用TTK主題擴(kuò)展(默認(rèn)) 如果需要滾動(dòng),則在適當(dāng)位置創(chuàng)建滾動(dòng)條,然后在Addin界面選擇其xscrollcommand 和yscrollcommand屬性為對(duì)應(yīng)滾動(dòng)條的.set方法。 3.16 TabStrip 選項(xiàng)卡控件,對(duì)應(yīng)到Python的Notebook,需要啟用TTK主題擴(kuò)展(默認(rèn))。 如果要布局各個(gè)頁(yè)面內(nèi)的控件,按以下步驟: 1.每個(gè)選項(xiàng)頁(yè)對(duì)應(yīng)一個(gè)Frame或PictureBox,命名為:TabStrip的名字 加'__Tab'(雙下劃線),再加一個(gè)序號(hào),從1開(kāi)始,比如TabStrip的名字為T(mén)abStrip1, 則你可以創(chuàng)建一個(gè)PictureBox,命名為'TabStrip1__Tab1'(注意大小寫(xiě))。 2.然后在PictureBox/Frame內(nèi)擺放你需要的其他控件,生成代碼后此容器內(nèi)自動(dòng)添加 到對(duì)應(yīng)的選項(xiàng)頁(yè),VisualTkinter會(huì)在后臺(tái)為您做這一切。 標(biāo)簽頁(yè)對(duì)應(yīng)的PictureBox/Frame可以放置在窗體的可視范圍外,也就是說(shuō)設(shè)計(jì)好 對(duì)應(yīng)的選項(xiàng)頁(yè)后,縮小IDE中的窗體為你需要的大小。 注意: 1. 你需要使用相對(duì)坐標(biāo),PictureBox或Frame容器的大小請(qǐng)和TabStrip內(nèi)部大小一致或 接近,否則選項(xiàng)頁(yè)內(nèi)的控件將會(huì)通過(guò)拉伸或收縮來(lái)適配可伸縮來(lái)適配可用空間,這樣有些 控件看起來(lái)會(huì)比較怪。如果使用絕對(duì)坐標(biāo),則PictureBox/Frame可以不用和TabStrip 一樣大,PictureBox/Frame內(nèi)的控件將以TabStrip的左上角為原點(diǎn)放置,大小和長(zhǎng)寬比例 會(huì)和設(shè)計(jì)時(shí)一致。 所以還是建議如果有TabStrip控件的話,使用絕對(duì)坐標(biāo)。 2. Frame和PictureBox均可作為容器,如果使用Frame作為容器,則其標(biāo)題可以作為選項(xiàng)頁(yè) 標(biāo)題,如果你沒(méi)有設(shè)置選項(xiàng)頁(yè)標(biāo)題的話。(選項(xiàng)卡控件的標(biāo)題設(shè)置優(yōu)先) ----------------------------------------------------- 3.17 CommonDialog 這個(gè)控件也算支持,如果VB窗體中有這個(gè)控件,則在Python代碼中導(dǎo)入 filedialog、simpledialog、colorchooser這三個(gè)模塊,這三個(gè)模塊提供簡(jiǎn)單的 文件選擇、輸入框、顏色選擇對(duì)話框功能。 需要在控件工具箱增加"Microsoft Common Dialog Control 6.0"4. 其他建議 1. 不支持使用控件數(shù)組,界面可以顯示,但是后面的同名控件名會(huì)覆蓋前面定義的。 2. 窗體的ScaleMode建議保持默認(rèn)值(vbTwips),如果要設(shè)置為其他值,則Frame控件 內(nèi)就不要再放Frame控件了,否則其內(nèi)部的控件布局錯(cuò)誤。 3. 如果僅需要簡(jiǎn)體漢字界面,則可以刪掉Language.lng文件,僅需VisualTkinter.dll 一個(gè)文件。5. ttk庫(kù)額外說(shuō)明 ttk主題擴(kuò)展看起來(lái)很漂亮,在不同操作系統(tǒng)下界面呈現(xiàn)為本地化風(fēng)格,建議使用, 只是要注意以下幾個(gè)ttk的BUG: 1. TTK的Entry和Combobox控件背景色設(shè)置無(wú)效(可以設(shè)置,不報(bào)錯(cuò),但是界面不變)。 2. TTK的Label中的文本不能換行,但是tkinter的Label控件可以通過(guò)插入'\n'來(lái)?yè)Q行。 3. LabelFrame和Notebook控件的字體設(shè)置無(wú)效。 4. Python 2.7.3附帶的ttk中的Treeview字體設(shè)置無(wú)效,但3.2.3的Treeview的字體 設(shè)置有效。  
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VB愛(ài)好者樂(lè)園(VBGood)軟件發(fā)布區(qū)Visual Tkinter (使用VB6設(shè)計(jì)Python的GUI界面),提供源碼
Python插件來(lái)啦!VB6插上TkinterDesigner,圖形界面開(kāi)發(fā)更簡(jiǎn)單
python桌面開(kāi)發(fā),為什么選擇PyQt或wxPython,而不使用Tkinter?
Python又把GUI界面攻下了,今天就告訴你怎么玩
Python Boa
Python的門(mén)面擔(dān)當(dāng)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服