1. 程式人生 > 程式設計 >使用Python中tkinter庫簡單gui介面製作及打包成exe的操作方法(二)

使用Python中tkinter庫簡單gui介面製作及打包成exe的操作方法(二)

上一篇我們寫了怎麼將xmind轉換成想要的excel格式,這篇再講一下用Python自帶的tkinter庫設計一個簡單的gui介面,讓我們的xmind路徑,用例版本執行等都通過這個gui介面來輸入,生成我們需要的excel檔案。

Python要生成gui,庫還是比較多的比如wxpython,這個我看了下,感覺比較難懂,畢竟只是設計一個比較簡單的gui介面,所以就使用了tkinter庫,感覺這個還是比較方便易懂的,大家可以在這裡學習tkinter庫http://c.biancheng.net/python/tkinter/

如果只是想做個簡單的gui介面,直接想用什麼就找什麼就行了 ,我這個介面只用到了askopenfilename 和showinfo這兩個功能,askopenfilename 是用來選擇獲取Windows檔案路徑的,showinfo是用來彈出提示框的,另外一個注意點就是 “self.module = tk.StringVar() self.secEntry = tk.Entry(self,textvariable = self.module)”,必須要這樣寫才能獲取到輸入框的值,剛開始我不知道這樣獲取,也是找了半天才找到,

from xmindtoxls import xmind_to_xls是上一篇寫的生成excel的檔案,可以把兩個檔案放到一個資料夾下

import tkinter as tk
from tkinter.filedialog import askopenfilename
from xmindtoxls import xmind_to_xls
from tkinter.messagebox import showinfo
import re

# 定義MainUI類表示應用/視窗,繼承Frame類
class MainUI(tk.Frame):
  # Application建構函式,master為視窗的父控制元件
  def __init__(self,master=None):
    # 初始化Application的Frame部分
    tk.Frame.__init__(self,master)
    # 顯示視窗,並使用grid佈局
    self.grid()
    self.path = tk.StringVar()
    # 建立控制元件
    self.createWidgets()

  def selectPath(self):
    '''選擇要轉換成excel的xmind地址'''
    self.path_ = askopenfilename()
    self.path.set(self.path_)

  # 建立控制元件
  def createWidgets(self):
    '''生成gui介面'''
    # 建立一個標籤,輸出要顯示的內容
    self.firstLabel = tk.Label(self,text="目標路徑")
    # 設定使用grid佈局
    self.firstLabel.grid(row = 0,column = 0)
    self.firstEntry = tk.Entry(self,textvariable = self.path)
    self.firstEntry.grid(row=0,column=1)
    # 建立一個按鈕,用來觸發answer方法
    self.clickButton = tk.Button(self,text="路徑選擇",command=self.selectPath)
    # 設定使用grid佈局
    self.clickButton.grid(row = 0,column = 2)
    # 建立一個標籤,輸入模組
    self.secLabel = tk.Label(self,text="模組")
    # 設定使用grid佈局
    self.secLabel.grid(row=1,column=0)
    self.module = tk.StringVar()
    self.secEntry = tk.Entry(self,textvariable = self.module)
    self.secEntry.grid(row=1,column=1)
    # 建立一個標籤,輸入版本號
    self.trLabel = tk.Label(self,text="版本號")
    # 設定使用grid佈局
    self.trLabel.grid(row=2,column=0)
    self.buildnum = tk.StringVar()
    self.trEntry = tk.Entry(self,textvariable = self.buildnum)
    self.trEntry.grid(row=2,column=1)
    # 建立一個標籤,輸入執行人
    self.fourLabel = tk.Label(self,text="執行人")
    # 設定使用grid佈局
    self.fourLabel.grid(row=3,column=0)
    self.owner = tk.StringVar()
    self.fourEntry = tk.Entry(self,textvariable = self.owner)
    self.fourEntry.grid(row=3,column=1)
    # 建立一個提交按鈕,用來觸發提交方法,獲取值
    self.clickButton = tk.Button(self,text="提交",command=self.getvalue)
    # 設定使用grid佈局
    self.clickButton.grid(row=4,column=1)

  def getvalue(self):
    '''獲取輸入的值,並執行轉換excel函式'''
    global way,module,buildnum,owner
    way = self.path.get()
    module = self.module.get()
    buildnum = self.buildnum.get()
    owner = self.owner.get()
    print(way,owner)
    self.regvalue = '.*\.xmind$'
    self.xmind_reg = re.match(self.regvalue,way )
    if self.xmind_reg:
      # xmind轉換成xls
      self.xmind_to_xls = xmind_to_xls()
      self.xmind_to_xls.write_excel(way,owner)
    else:
      showinfo(title='提示',message='請選擇正確的xmind檔案,謝謝!')

# 建立一個MainUI物件
app = MainUI()
# 設定視窗標題
app.master.title('「xmind轉xls」')
# 設定窗體大小
app.master.geometry('400x200')
# 主迴圈開始
app.mainloop()

打包用的是pyinstaller庫,先pip安裝一下,然後進入相應的Python檔案所在的資料夾下,輸入命令pyinstaller -Ftkintertoxls.py -pxmindtoxls.py 就可以生成exe可執行檔案了,這樣這個xmind轉xls的打包工具就完成了。注意電腦管家可能會把exe檔案刪除掉,設定為安全就可以了。

到此這篇關於使用Python中tkinter庫簡單gui介面製作及打包成exe的操作方法(二)的文章就介紹到這了,更多相關Python gui介面製作及打包成exe內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!