首頁>技術>

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()

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Win10+docker+Laradock(下篇):Docker的基本操作與專案開發配置