<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      用vb6拖拽生成tkinter界面

       

      http://pan.baidu.com/s/1kVLOrIn#list/path=%2F

       

      0.簡介
          這是一個VB6的ADDIN(外接程序),用于使用VB6開發工具直接拖放控件,直接可視化完成Python的TKinter的GUI布局和設計,可以在VB界面上設置
          控件的一些屬性,最終自動生成必要的代碼(包括回調函數框架),代碼生成后僅需要在對應的回調函數中增加相應的邏輯功能代碼即可。
          這個工具支持絕大部分TKiner控件,可應付一般GUI的需求。(列表參見下面的控件說明)。
      
      1.適用對象
          適用于學習了TKinter并不想太麻煩寫GUI代碼,也不想用其他工具和框架,比如wxPython,PyQt4的同學。
          適用于界面不太復雜的小程序開發,界面復雜的還是適用wxPython等框架吧。因為TKinter為Python標準庫,使用TKinter完成的Python程序可以稱為
          “綠色軟件”,不需要目標機器上安裝wxPython,PyQt4等框架,只要有Python的機器就能運行。
        如果軟件邏輯不是很復雜,通常一個*.py搞定,不像其他框架,需要幾個文件。 2.使用方法簡介 2.1 首先注冊此插件,可以使用自帶的安裝程序,或自己手動完成。 2.2 打開VB6,新建一個標準EXE工程,在窗體上設計自己的GUI布局,這個 工作估計沒有VB基礎的同學都可以完成,同時可以設置相應的控件屬性。 2.3 如果使用自帶安裝程序安裝了插件,現在VB的工具條上應該有一個新 圖標(一片橙紅色羽毛),如果沒有,到菜單"外接程序"|"外接程序管理器" 里面啟動Visual Tkinter,Visual Tkinter圖標和菜單應該會出現。 2.4 啟動Visual Tkinter后,先按“刷新窗體列表”按鈕,列出當前工程的所有 窗體和控件列表。 2.5 逐個確認各控件的輸出屬性,在要輸出的選項前打鉤,如果必要, 可以在屬性列表中雙擊修改屬性的值。(一般情況不需要再修改控件屬性)。 VisualTkinter盡量的將VB控件屬性翻譯成Tkinter控件屬性,比如字體、顏色 初始值、外觀、狀態等,甚至包括按鈕類和菜單的快捷鍵設置等待。 當然了,如果部分屬性沒有對應關系的,需要在VisualTkinter界面上設置。 2.6 按“生成代碼”按鈕則在代碼預覽窗口生成代碼,可以雙擊代碼預覽窗口 放大閱讀,也可以直接修改代碼。 2.7 確認完成后可以將代碼拷貝到剪貼板或保持到文件。 布局可以使用百分比定位(相對定位)或絕對坐標定位(按像素定位), 百分比定位為有一個好處,主界面大小變化后,控件也可以相對變化大小。 如果不希望主界面大小變化后控件跟隨變化,可以選擇絕對坐標定位。 注:如果修改了以前設計的界面,可以選擇僅輸出main函數或界面生成類。 不影響外部已經實現的邏輯代碼。 2.8 如果程序有多個GUI界面,可以在VB工程中添加窗體,就可以選擇產生 哪個窗體的對應代碼。 2.9 針對結構化代碼,如果要在Python代碼中引用和修改其他控件的值, 可以使用全局字典gComps,這個字典保存了所有的GUI元素和一些對應的 控件變量,可以直接使用形如gComps["Text1Var"].set("new Text")的代碼 來訪問對應控件。 如果輸出的是面向對象代碼,則可以在界面派生類Application中直接訪問 對應的控件。

       

      2.10 一般的GUI框架都會將UI部分和邏輯代碼部分分別放在不同的文件中,在邏輯代碼文件中導入UI文件,實現修改UI不影響邏輯代碼。因為對于實現簡單的程序來說,我偏愛單文件,所以我將UI類和邏輯代碼類都放在同一個文件中,在修改界面后,你可以直接覆蓋對應的Application_ui類即可實現界面的變更,不過如果增加了新的事件回調函數,需要在子類Application中增加才行。

      3.目前支持的控件列表
      3.1 Label
      標簽條在VB和Python中基本一樣。如果不啟用ttk,則在文本中插入\n來換行,
      如果啟用了ttk,則只支持單行文本(多行可以使用Message控件實現)。
      3.2 TextBox
      Python文本框有兩種:Entry和Text,如果VB的TextBox的MultiLine=False,則
      生成Entry,否則生成Text。
      3.3 Frame
      對應Python的LabelFrame控件,做為其他控件的容器,或做為界面元素視覺分類。
      3.4 CommandButton
      對應Python的Button,沒有太多區別。
      為了代碼簡潔,窗體的退出按鈕可以設置Cancel屬性為True,然后程序自動生成
      對應Tkinter的destroy回調,這樣就不需要再實現一個回調函數。
      在VB里面字母前增加一個"&"符號可以直接綁定一個快捷鍵Alt+對應字母,
      VisualTkinter也支持此設置,自動生成對應的事件綁定代碼。
      其他控件比如Checkbox等有"標題"屬性的控件一樣如此處理。
      3.5 CheckBox
      多選按鈕對應Python的Checkbutton。
      3.6 OptionButton
      單選按鈕對應Python的Radiobutton。
      3.7 ComboBox
      組合框在Tkinter中沒有對應的控件,比較類似的只有OptionMenu,類似ComboBox
      的Style=2 (Dropdown List)時的表現,一個下拉列表,只能在列表中選擇一個值,
      不能直接輸入。所以建議在VB的ComboBox中寫下所有的下拉列表值。
      如果啟用了TTK主題擴展庫支持,則直接對應到TTK的Combobox,外形和行為基本
      一致
      3.8 ListBox
      列表框對應Python的Listbox,行為也類似,可以在設計階段設置初始列表。
      如果需要滾動,則在適當位置創建滾動條,然后在Addin界面選擇其xscrollcommand
      和yscrollcommand屬性為對應滾動條的.set方法
      3.9 HScrollBar, VScrollBar
      滾動條在Python中為Scrollbar,通過設置orient來控制水平還是垂直。
      3.10 Slider
      類似對應Python中的Scale。
      3.11 PictureBox
      簡單對應到Python中的Canvas,用做其他控件的容器或畫圖容器使用。
      如果需要滾動,則在適當位置創建滾動條,然后在Addin界面選擇其xscrollcommand和
      yscrollcommand屬性為對應滾動條的.set方法。
      3.12 Menu
      可以使用VB的菜單編輯器來設計Python的菜單。
      在VB中的菜單標題為"-"是分隔條。
      也可以在正常的菜單標題中增加(&+字母)的方式添加快捷鍵。
      3.13 Line
      可以用于組織復雜界面,僅支持水平或垂直線。
      ===================================================
      以下的控件需要在VB的'控件工具箱'中按右鍵添加'部件',選擇
      'Microsoft Windows Common Controls 6.0'
      ====================================================
      3.14 ProgressBar
      對應到Python的Progressbar,需要啟用TTK主題擴展(默認)
      3.15 TreeView
      對應到Python的Treeview,樹形顯示控件,可以選擇是否顯示標題行,
      需要啟用TTK主題擴展(默認)
      如果需要滾動,則在適當位置創建滾動條,然后在Addin界面選擇其xscrollcommand
      和yscrollcommand屬性為對應滾動條的.set方法。
      3.16 TabStrip
      選項卡控件,對應到Python的Notebook,需要啟用TTK主題擴展(默認)。
      如果要布局各個頁面內的控件,按以下步驟:
      1.每個選項頁對應一個Frame或PictureBox,命名為:TabStrip的名字
      加'__Tab'(雙下劃線),再加一個序號,從1開始,比如TabStrip的名字為TabStrip1,
      則你可以創建一個PictureBox,命名為'TabStrip1__Tab1'(注意大小寫)。
      2.然后在PictureBox/Frame內擺放你需要的其他控件,生成代碼后此容器內自動添加
      到對應的選項頁,VisualTkinter會在后臺為您做這一切。
      標簽頁對應的PictureBox/Frame可以放置在窗體的可視范圍外,也就是說設計好
      對應的選項頁后,縮小IDE中的窗體為你需要的大小。
      注意:
      1. 你需要使用相對坐標,PictureBox或Frame容器的大小請和TabStrip內部大小一致或
      接近,否則選項頁內的控件將會通過拉伸或收縮來適配可伸縮來適配可用空間,這樣有些
      控件看起來會比較怪。如果使用絕對坐標,則PictureBox/Frame可以不用和TabStrip
      一樣大,PictureBox/Frame內的控件將以TabStrip的左上角為原點放置,大小和長寬比例
      會和設計時一致。
      所以還是建議如果有TabStrip控件的話,使用絕對坐標。
      2. Frame和PictureBox均可作為容器,如果使用Frame作為容器,則其標題可以作為選項頁
      標題,如果你沒有設置選項頁標題的話。(選項卡控件的標題設置優先)
      -----------------------------------------------------
      3.17 CommonDialog
      這個控件也算支持,如果VB窗體中有這個控件,則在Python代碼中導入
      filedialog、simpledialog、colorchooser這三個模塊,這三個模塊提供簡單的
      文件選擇、輸入框、顏色選擇對話框功能。
      需要在控件工具箱增加"Microsoft Common Dialog Control 6.0"

      4. 其他建議
      1. 不支持使用控件數組,界面可以顯示,但是后面的同名控件名會覆蓋前面定義的。
      2. 窗體的ScaleMode建議保持默認值(vbTwips),如果要設置為其他值,則Frame控件
      內就不要再放Frame控件了,否則其內部的控件布局錯誤。
      3. 如果僅需要簡體漢字界面,則可以刪掉Language.lng文件,僅需VisualTkinter.dll
      一個文件。

      5. ttk庫額外說明
      ttk主題擴展看起來很漂亮,在不同操作系統下界面呈現為本地化風格,建議使用,
      只是要注意以下幾個ttk的BUG:
      1. TTK的Entry和Combobox控件背景色設置無效(可以設置,不報錯,但是界面不變)。
      2. TTK的Label中的文本不能換行,但是tkinter的Label控件可以通過插入'\n'來換行。
      3. LabelFrame和Notebook控件的字體設置無效。
      4. Python 2.7.3附帶的ttk中的Treeview字體設置無效,但3.2.3的Treeview的字體
      設置有效。

      posted @ 2024-12-16 21:08  遙月  閱讀(251)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 躁躁躁日日躁| 日韩 欧美 亚洲 一区二区| 国产乱码精品一区二区上| 少妇办公室好紧好爽再浪一点| 4480yy亚洲午夜私人影院剧情| 十八禁午夜福利免费网站| 亚洲国产超清无码专区| 日韩人妻无码一区二区三区99 | 久久亚洲精品成人av秋霞| 国语精品自产拍在线观看网站| 免费观看羞羞视频网站| 国产大片黄在线观看| 久治县| 91久久偷偷做嫩草影院免费看| 天天综合色天天综合色h| 福利视频在线一区二区| 老熟女高潮一区二区三区| 日本人妻巨大乳挤奶水免费| 日韩放荡少妇无码视频| 亚洲一区二区三区| 最近中文字幕完整版hd| 国产精品无码素人福利不卡| 激情亚洲专区一区二区三区 | 精品熟女少妇免费久久| 亚洲国产精品久久久久婷婷图片| 国产精品一区 在线播放| 国产成人无码性教育视频| 亚洲成人av一区二区| 麻豆成人精品国产免费| 久久国产精品-国产精品| 亚洲精品天堂在线观看| 《特殊的精油按摩》3| 护士张开腿被奷日出白浆| 丝袜美腿亚洲综合第一页| 精品一区二区三区免费视频| 亚洲男人AV天堂午夜在| 99热在线观看| 国产真实乱对白精彩久久| 免费无码一区无码东京热| 99福利一区二区视频| 国产婷婷精品av在线|