1 說明:
1.2 要不是一位網友推薦appJar,我是不知道這個python的GUI工具的。
1.3 appJar自稱是Python中GUI的終極工具。
1.4 目前網際網路上的appJar的介紹,很少很少,我就發現幾個,而且很超級簡單,看完我的介紹你就會了。
3 appJar介紹:
3.1 官網等相關地址:
#安裝:pip install appJar #仔細注意appJar中J是大寫的#相關地址如下#https://github.com/jarvisteach/appJar#http://appjar.info/#http://appjar.info/pythonLessons/#/
3.2 圖
他自己說是:python的終極GUI工具,我沒用過。
4 label介紹,程式碼:
#方法一from appJar import guiwith gui('Lesson 1') as app: app.label('Where to begin?')
#方法二from appJar import gui app = gui('Lesson 1') #定義視窗和標題#app = gui() #如果是這種,那麼視窗的標題就是檔名app.label('Where to begin?')app.go()
5 可以去官網上找例子,不過很少。
6 showSubWindow介紹,程式碼:
#匯出模組from appJar import gui #定義視窗,預設標題app=gui() #也可以自定義標題#定義函式開啟視窗def openwin(win): app.showSubWindow(win)'''#方法一#官網給2個按鈕,我自定義三個,依次類推#這是主視窗的3個按鈕,命令函式類似與command=openwin,簡單很多,與tk比。app.addButtons(["one", "two","three"], openwin)# this is a pop-upapp.startSubWindow("one", modal=True)app.addLabel("lone", "SubWindow One")app.stopSubWindow()# this is another pop-upapp.startSubWindow("two")app.addLabel("ltwo", "SubWindow Two")app.stopSubWindow()#我自己增加的第3個app.startSubWindow("three")app.addLabel("lthree", "SubWindow Three")app.stopSubWindow()'''#-----python思維訓練,等同上面------#方法二buttonlist=["one", "two","three"]app.addButtons(buttonlist, openwin)for i in range(len(buttonlist)): app.startSubWindow(buttonlist[i], modal=True) app.addLabel("l"+buttonlist[i], "SubWindow"+buttonlist[i]) app.stopSubWindow()#-------------------------------app.go()
效果圖
7 還能畫餅狀圖,pie.py程式碼:
from appJar import guiapp = gui()app.addPieChart("p1", {"apples":50, "oranges":200, "grapes":75, "beef":300, "turkey":150})app.go()
圖
8 倒數計數器,程式碼:
from appJar import gui#定義視窗、標題、大小#一般喜歡定義為:app=gui(),這樣也行win = gui('倒數計數器',geom='600x600') count=10#定義函式pressed功能def pressed(btnName): #宣告是全域性變數 global count count-=1 #注意這裡是set不是add win.setLabel("lb1","Count= "+ str(count)) #退出定義 if count == 0: win.after(5, win.stop) #delay_ms, callback=Nonewin.addLabel("lb1", "empty") #定義label標籤,名和顯示內容(name和text)win.addButton("PRESS", pressed) #定義button按鈕,按鈕顯示名和作用(title和func)win.go()
效果圖
9 動態隨機曲線圖,程式碼
from appJar import guifrom numpy import sin, pi, arangeimport random#獲取隨機座標def getXY(): x = arange(0.0, 3.0, 0.01) y = sin(random.randint(1,10) * pi * x) return x,y #定義按鈕功能函式def generate(btn): #引數:updatePlot(title, t, s, keepLabels=False) #注意:s=*getXY(),有一個星號,獲取動態座標值 app.updatePlot("p1", *getXY()) #showLabels() #與下面那個重複,一個夠了#定義函式def showLabels(): #圖例說明 axes.legend(['The curve']) #座標值標籤定義 axes.set_xlabel("X Axes") axes.set_ylabel("Y Axes") #不斷重新整理 app.refreshPlot("p1")#定一個視窗,預設標題名為檔名,預設大小app = gui()#畫在這個axes圖上axes = app.addPlot("p1", *getXY())showLabels() #注意上面也有一個,官網給重複了,一個就夠了#定義按鈕和command的功能app.addButton("Generate", generate)app.go()
效果圖
10 登入視窗,程式碼:超級簡單
from appJar import gui#定義視窗、標題名和大小設定app = gui("Login Form", "800x400")#視窗背景顏色設定app.setBg("orange")#視窗字型大小設定app.setFont(18)#定義函式點選def press(btnName): if btnName == "Cancel": app.stop() return #判斷輸入賬號和密碼 if app.getEntry("userEnt") == "appjar": if app.getEntry("passEnt") == "123": app.infoBox("Success", "Congratulations, you are logged in!") else: app.errorBox("Failed login", "Invalid password") else: app.errorBox("Failed login", "Invalid username")#增加文字標籤和輸入框,佈局,超級簡單,省略row=None和column=0#userLab和passLab是標籤名app.addLabel("userLab", "Username:", 0, 0,)app.addEntry("userEnt", 0, 1)app.addLabel("passLab", "Password:", 1, 0)app.addSecretEntry("passEnt", 1, 1)#定義按鈕,自動生成,按鈕名,功能,大小app.addButtons( ["Submit", "Cancel"], press, colspan=2)#You can even specify where you want the cursor to be when the GUI starts:#自己可以指定游標在視窗開啟是處於的位置#app.setFocus("userEnt") #可要可不要app.enableEnter(press)# start the GUIapp.go()
效果圖
11 addRadioButton介紹,程式碼:
from appJar import guiapp=gui()#自動佈局,song是名稱,自定義,後面是選項,類似於單選題app.addRadioButton("song", "Killer Queen")app.addRadioButton("song", "Paradise City")app.addRadioButton("song", "Parklife")app.go()
圖
最新評論