Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产真实乱子伦xxxx仙踪,欧美三级短视频,欧美一区二区三区大片

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          以最簡單的方式在python中創(chuàng)建現(xiàn)代GUI的4種方法

          你好,今天本文將討論如何在python中創(chuàng)建漂亮的UI應(yīng)用程序。我知道這聽起來有點(diǎn)奇怪,因?yàn)槲覀€人覺得標(biāo)準(zhǔn)Tkinter庫不足以開發(fā)出令人驚奇的UI。今天,我們將介紹4種在python中創(chuàng)建現(xiàn)代應(yīng)用程序的不同方法,因此,讓我們開始,

          以前

          1.使用鰻魚

          我們列表中的第一個方法是針對那些了解HTML&CSS的開發(fā)人員(如果您不知道,那么我也強(qiáng)烈推薦它),并提供javascript的基礎(chǔ)知識。

          它怎麼工作?

          基本上,您將使用HTML和CSS開發(fā)前端,并用python編寫計(jì)算或后端部分。ND鰻魚充當(dāng)python和javascript之間的橋梁,并傳遞數(shù)據(jù)。

          安裝

          pip install Eel

          目錄結(jié)構(gòu)

          └── Folder
              ├── templates
              |   ├── index.html
              |   ├── main.js
              |   └── style.css
              └── main.py

          貓主

          import eel
          
          # name of folder where the html, css, js, image files are located
          eel.init('templates')
          
          @eel.expose
          def demo(x):
              return x**2
          
          # 1000 is width of window and 600 is the height
          eel.start('index.html', size=(1000, 600))

          CAT main.js

          function compute() {
              var data = document.getElementById("data").value
              eel.demo(data)(setValue) // call the demo function which we have created in the main.py file
          }
          
          function setValue(res) {
              document.getElementById("abc").src = res
          }

          CAT index.html

          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="utf-8">
              <title>sample</title>
                  <link href="style.css" rel="stylesheet">
                  <script type="text/javascript" src="/eel.js"></script
                  <script type="text/javascript" src="main.js"></script>
          </head>
          <body>
          <!--
          have to call compute() from here for example when user clicks any button or something like that.
          -->
          </body>
          </html>

          GitHub參考資料

          <https://github.com/ChrisKnott/Eel>

          2.Figma和Python

          好吧,你一定在想Figma和python之間的組合是什么?Figma是一個UI開發(fā)工具,不是用python編寫的庫.嗯!我知道你是對的,但讓我們繼續(xù)讀這篇文章吧。

          安裝

          pip install tkdesigner

          它是如何工作的

          用戶只需要使用Figma設(shè)計(jì)一個接口,然后將Figma文件URL和API令牌粘貼到TkinterDesigner中。TkinterDesigner將自動生成在Tkinter中創(chuàng)建GUI所需的所有代碼和圖像。

          For complete procedure do watch [this](https://www.youtube.com/watch?v=mFjE2-rbpm8&t=66s&ab_channel=Parthjadhav) video on youtube from Parth Jadhav

          GitHub參考資料

          https://github.com/ParthJadhav/Tkinter-Designer

          3.Pywebview

          Pywebview是一個輕量級的跨平臺包裝器,它支持在自己的原生GUI窗口中顯示HTML內(nèi)容的webview組件。Pywebview是由羅曼·西羅科夫 .

          安裝

          pip install pywebview

          樣本代碼

          import webview
          
          if __name__ == '__main__':
              window = webview.create_window('Load HTML Example', 'index.html')
              webview.start(window)

          GitHub參考資料

          https://github.com/r0x0r/pywebview/

          4.PyQT5

          PyQt是在python中開發(fā)現(xiàn)代平臺GUI的一個很好的庫。您可以用python編寫代碼來創(chuàng)建應(yīng)用程序,這可能有點(diǎn)困難,但由于我們正在討論最簡單的方法,您甚至可以使用稱為PyQt5Designer的拖放生成器來創(chuàng)建GUI。通過生成一個.ui文件(即拖放程序)來構(gòu)建應(yīng)用程序是一種很好的方法,然后您可以將這個.ui文件轉(zhuǎn)換為.py文件。

          安裝

          pip install PyQt5Designer

          步驟

          安裝后,設(shè)計(jì)器將安裝在您的系統(tǒng)中。簡單鍵入designer在您的命令提示符和設(shè)計(jì)器.exe將彈出。它會看起來像這樣

          現(xiàn)在,您可以在畫布中拖放元素。在設(shè)計(jì)應(yīng)用程序之后,只需將其導(dǎo)出為.ui文件即可。稍后,您可以將這個.ui文件轉(zhuǎn)換為.py文件,

          pyuic5 -x [NAME_OF_UI_FILE].ui [NAME_OF_PY_FILE].py

          結(jié)語

          原文 Https://dev.to/yash_makan/4-ways-to-create-modern-gui-in-python-in-easiest-way-possible-5e0e

          形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受。然而這界面若要通過在顯示屏的特定位置,以"各種美觀而不單調(diào)的視覺消息"提示用戶"狀態(tài)的改變",勢必得比簡單的消息呈現(xiàn)花上更多的計(jì)算能力。

          GUI概述

          圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受。然而這界面若要通過在顯示屏的特定位置,以"各種美觀而不單調(diào)的視覺消息"提示用戶"狀態(tài)的改變",勢必得比簡單的消息呈現(xiàn)花上更多的計(jì)算能力。在 GUI 中,并不只是鍵入文本和返回文本,用戶可以看到窗口、按鈕、文本框等圖形,而且可以用鼠標(biāo)單擊,還可以通過鍵盤鍵入,GUI 是與程序交互的一種不同的方式。

          Python GUI常用框架

          Flexx

          Flexx是一個純Python工具包,用于創(chuàng)建圖形用戶界面(GUI),它使用Web技術(shù)進(jìn)行渲染。 應(yīng)用程序完全用Python編寫;PScript轉(zhuǎn)換器動態(tài)生成必要的JavaScript。

          項(xiàng)目地址:https://github.com/flexxui/flexx入門指南:https://flexx.readthedocs.io/en/stable/guide/index.html安裝Flexx需要Python 3.5+,也適用于pypy。 此外,它還依賴以下的庫:

          • Tornado庫(純Python)。
          • PScript庫(純Python flexxui項(xiàng)目)
          • Webruntime庫(純Python flexxui項(xiàng)目)
          • Dialite庫(純Python flexxui項(xiàng)目)

          要安裝最新版本(和依賴項(xiàng)),請使用以下任一命令:

          pip install flexxconda install flexx -c conda-forge或者用以下方法來獲得更新:

          pip install https://github.com/flexxui/flexx/archive/master.zip

          wxPython

          wxPython是用于Python編程語言的跨平臺GUI工具箱。它允許Python程序員輕松,輕松地創(chuàng)建具有健壯,功能強(qiáng)大的圖形用戶界面的程序。它是作為一組Python擴(kuò)展模塊實(shí)現(xiàn)的,這些模塊包裝了用C ++編寫的流行wxWidgets跨平臺庫的GUI組件 。官網(wǎng):https://www.wxpython.org/

          Kivy

          Kivy是開源Python函式庫,用于開發(fā)行動應(yīng)用程序和其它采用自然用戶界面的多點(diǎn)觸控應(yīng)用軟件。它可以在Android,iOS,Linux,OS X和Windows執(zhí)行。采用MIT授權(quán)條款,Kivy是自由并且開源的軟件。

          官網(wǎng):https://kivy.org/

          PyQt

          PyQt是Qt公司 Qt應(yīng)用程序框架的一組Python v2和v3綁定,可在Qt支持的所有平臺上運(yùn)行,包括Windows,OS X,Linux,iOS和Android。PyQt5支持Qt v5。PyQt4支持Qt v4,并將針對Qt v5進(jìn)行構(gòu)建。綁定是作為一組Python模塊實(shí)現(xiàn)的,包含1000多個類。官網(wǎng):https://www.riverbankcomputing.com/software/pyqt/intro

          Tkinter

          Tkinter 是使用 python 進(jìn)行窗口視窗設(shè)計(jì)的模塊。Tkinter模塊("Tk 接口")是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口。作為 python 特定的GUI界面,是一個圖像的窗口,tkinter是python 自帶的,可以編輯的GUI界面,我們可以用GUI 實(shí)現(xiàn)很多直觀的功能,比如想開發(fā)一個計(jì)算器,如果只是一個程序輸入,輸出窗口的話,是沒用用戶體驗(yàn)的。所有開發(fā)一個圖像化的小窗口,就是必要的。

          索引:https://wiki.python.org/moin/TkInter

          Pywin32

          Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發(fā)win32應(yīng)用。代碼風(fēng)格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個不錯的選擇。項(xiàng)目地址:https://github.com/mhammond/pywin32

          PyGTK

          PyGTK讓你用Python輕松創(chuàng)建具有圖形用戶界面的程序

          官網(wǎng):https://pygobject.readthedocs.io/en/latest/

          創(chuàng)建應(yīng)用程序

          使用wxPython框架

          安裝

          Windwos與MAC平臺使用pip工具安裝wxPython只需要一行命令:pip install -U wxPython

          Linux平臺:

          由于發(fā)行版和wx端口(GTK2或GTK3)有多種選項(xiàng),因此文件不能全部位于同一文件夾中,以便通過pip輕松訪問。這只是意味著您需要進(jìn)一步細(xì)化以找到要提供給pip的URL。例如,要獲取適用于Ubuntu 16.04(和16.10,LinuxMint 18以及其他版本)的GTK3 wxPython構(gòu)建,可以使用如下pip命令:
          pip install -U \
          -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
          wxPython

          準(zhǔn)備

          注意:本部分知識來源與網(wǎng)絡(luò)使用wxPython之前,先了解兩個基礎(chǔ)對象:應(yīng)用程序?qū)ο蠛晚敿壌翱凇?yīng)用程序?qū)ο蠊芾碇魇录h(huán),主事件循環(huán)是wxPython程序的動力。如果沒有應(yīng)用程序?qū)ο螅瑆xPython應(yīng)用程序?qū)⒉荒苓\(yùn)行。頂級窗口通常用于管理最重要的數(shù)據(jù),控制并呈現(xiàn)給用戶。兩個基礎(chǔ)對象和應(yīng)用程序的其他部分之間的關(guān)系如下圖所示:

          這個應(yīng)用程序?qū)ο髶碛许敿壌翱诤椭餮h(huán)事件。頂級窗口管理其窗口中的組件和其他的分配給它的數(shù)據(jù)對象。窗口和它的組件觸發(fā)的事件基于用戶的動作,并接受事件通知以便改變顯示。

          Hell Word

          代碼:import wx
          app = wx.App(False)
          frame = wx.Frame(None,wx.ID_ANY,"Hello,world!!!_Linux就該這么學(xué)")
          frame.Show(show=True)
          app.MainLoop()

          解析:

          注意:

          • 可以用-1來替代wx.ID_ANY,-1 就是默認(rèn)值的意思。另外wxWidgets還提供了其它的標(biāo)準(zhǔn) ID(v2.8)。 你也可以自定義一個ID,但Getting Started with wxPython 認(rèn)為,沒有理由那樣做,用標(biāo)準(zhǔn)ID更好。
          • wx.Frame的完整語法是:
            wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,name="frame")
            parent:框架的父窗口。如果是頂級窗口,這個值是None。
            id:關(guān)于新窗口的wxPython ID號。通常設(shè)為-1,讓wxPython自動生成一個新的ID。
            title:窗口的標(biāo)題。
            pos:一個wx.Point對象,它指定這個新窗口的左上角在屏幕中的位置。在圖形用戶界面程序中,通常(0,0)是顯示器的左上角。這個默認(rèn)值(-1,-1)將讓系統(tǒng)決定窗口的位置。
            size:一個wx.Size對象,它指定這個窗口的初始尺寸。這個默認(rèn)值(-1,-1)將讓系統(tǒng)決定窗口的初始尺寸。
            style:指定窗口的類型的常量。可以使用或運(yùn)算來組合它們。
            name:框架內(nèi)在的名字。可以使用它來尋找這個窗口。

          Python GUI界面編程-初識篇到此結(jié)束,感謝您的閱讀,愿您可從此文獲取收獲。

          本文原創(chuàng)地址:https://www.linuxprobe.com/python-gui-gettoknow.html編輯:坑人小妖精,審核員:逄增寶

          ython是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計(jì)語言,Python GUI圖形庫允許Python程序員很方便的創(chuàng)建完整的、功能鍵全的GUI用戶界面。作為Python開發(fā)者,你遲早都會用到圖形用戶界面來開發(fā)應(yīng)用,wxPython和PyQt是兩個最受歡迎的Python GUI框架,它們之間有何區(qū)別?在實(shí)際應(yīng)用中又該如何選擇呢?

          外觀

          根據(jù)我們的經(jīng)驗(yàn),大多數(shù)用戶在使用應(yīng)用程序時首先關(guān)注的一定是應(yīng)用程序的外觀,所以我們先來比較一下wxPython和PyQt的外觀。

          wxPython是Python語言對流行的wxWidgets跨平臺GUI工具庫的綁定。而wxWidgets是用C++語言寫成的,所以在GUI中編寫按鈕小部件的代碼時,不會看到類似于另一個操作系統(tǒng)的東西。

          ▲基于Linux的Thunar和wxPython

          PyQt也是使用C++編寫的,它基于著名的Qt工具包。與wxPython不同的是,它不使用native

          widget,而是根據(jù)它檢測到操作系統(tǒng)創(chuàng)建小部件的近似值。但是它的近似可以說是做到了極致,就連藝術(shù)生基本都分辨不出其與原生有何不同。

          如果您使用KDE,可以使用其他PyKDE庫來彌補(bǔ)原始PyQt與Linux和BSD之間Plasma desktop外觀之間的差距,但這增加了新的依賴關(guān)系。

          ▲基于Linux的KDE和Qt

          跨平臺

          wxPython和PyQt都支持Linux,Windows和Mac,因此它們都非常適合跨平臺;但是這種跨平臺并不是無條件的,想要你的Python代碼在特定平臺中運(yùn)行還需要進(jìn)行一些調(diào)整,如GUI工具包無法將路徑格式調(diào)整為數(shù)據(jù)目錄,因此必須在Python中運(yùn)行最佳實(shí)踐,使用os.path.join和幾個不同的退出方法等等。 GUI工具包的選擇不會從平臺上神奇地抽象出來。

          PyQt正在努力的消除跨平臺差異,允許Python本身需要的常見調(diào)整。PyQt可以避免大多數(shù)跨平臺問題,所以在不同的操作系統(tǒng)中,GUI代碼基本都可以保持不變。

          在wxPython中,用戶可能就需要根據(jù)編程內(nèi)容對不同平臺中的GUI代碼做一些調(diào)整。例如,為了防止Microsoft Windows上的某些元素閃爍,USE_BUFFERED_DC屬性必須設(shè)置為True才能對圖形進(jìn)行雙緩沖。這不是默認(rèn)的,即使可以無條件地對所有平臺進(jìn)行操作,因此在某些用例中可能存在缺陷。

          安裝

          作為開發(fā)人員,您可能不關(guān)心獲取應(yīng)用程序所需的庫所需的安裝步驟; 但是,如果您計(jì)劃分發(fā)應(yīng)用程序,則需要考慮用戶為了使程序運(yùn)行所必須執(zhí)行的安裝過程。

          在所有平臺上安裝Qt與安裝任何其他應(yīng)用程序一樣簡單, 給用戶一個下載的鏈接,然后安裝下載的軟件包即可使用。

          PyQt依賴于Qt本身的C ++代碼,這意味著用戶不僅要安裝PyQt,而且還要安裝所有的Qt。這個操作沒有之前的安裝那么簡單,但是Qt和PyQt團(tuán)隊(duì)已經(jīng)盡可能簡化安裝操作了,就現(xiàn)在來看,只要是會安裝瀏覽器或游戲的用戶,都可以通過鏈接成功安裝Qt,如果用戶十分擅長,用戶甚至可以將安裝腳本作為自己的安裝程序的一部分。

          在Linux,BSD和Ilumos中,安裝程序通常由經(jīng)銷商的軟件包管理員為用戶編寫。

          在Linux和Windows上,wxPython的安裝過程非常簡單,但在Mac OS上是有問題的。如果可下載的軟件包嚴(yán)重過時,Mac OS不利于向后兼容。由于存在修復(fù)程序的錯誤代碼,程序包沒有被更新,所以用戶自己找到并實(shí)現(xiàn)修補(bǔ)程序的機(jī)會很低。現(xiàn)在的解決方案是打包wxPython并將其分發(fā)給Mac OS用戶,或者依靠外部程序包管理器。

          部件和功能

          PyQt和wxPython都具有用戶期望從GUI工具包(包括按鈕,復(fù)選框,下拉菜單等)中獲得的所有常用小部件。 兩者都支持拖放操作,標(biāo)簽式界面,對話框和創(chuàng)建自定義小部件。

          PyQt具有靈活性的優(yōu)點(diǎn)。 您可以在運(yùn)行時重新排列,浮動,關(guān)閉和還原Qt面板,為每個應(yīng)用程序提供高度可配置的以可用性為中心的界面。

          只要您使用正確的小部件,就可以為用戶提供很多友好的功能,而不必自己去重新思考花哨的技巧。

          WxPython具有很多很好的功能,但它在靈活性和用戶控制方面不能和PyQt相提并論,PyQt更易于開發(fā)人員設(shè)計(jì)和布局,在開發(fā)Qt之前,要先花費(fèi)一些時間從用戶獲取跟蹤自定義布局的方法,或者如何找到意外關(guān)閉的丟失面板等等。而對于wxPython來說,想要重新打開因意外關(guān)閉的面板則是件困難的事情。

          總體來說,wxPython畢竟只是wxWidgets的前端,所以如果你真的需要一個功能,你可以用C ++實(shí)現(xiàn)它,然后在wxPython中使用它。與PyQt相比,wxPython的學(xué)習(xí)曲線更加陡峭一些。

          通信

          GUI應(yīng)用程序由許多較小的視覺元素組成,通常稱為“小部件”。 為了使GUI應(yīng)用程序順利運(yùn)行,小部件必須彼此通信,例如,用于顯示圖像的窗格可以知道用戶選擇了哪個縮略圖。大多數(shù)GUI工具包,包括wxPython,都可以處理和“callback”的內(nèi)部通信。 回調(diào)是指向某段代碼(“函數(shù)”)的指針。如果您想要點(diǎn)擊某個按鈕小部件時發(fā)生某些事情,那么你就要為這個發(fā)生的操作編寫函數(shù),當(dāng)點(diǎn)擊按鈕時,觸發(fā)函數(shù),發(fā)生操作。

          如果它和Lambda表達(dá)式結(jié)合起來將會產(chǎn)生一個非常靈活的解決方案,達(dá)到的效果可能會超過你的預(yù)期。

          另一方面,Qt以信號/槽機(jī)制而聞名。如果您將wxPython的內(nèi)部通信網(wǎng)絡(luò)比喻為舊式電話交換機(jī),那么PyQt的通信則可以視為網(wǎng)狀網(wǎng)絡(luò)。

          ▲在Qt的信號和槽

          Qt使用了信號和槽來代替回調(diào)函數(shù)。當(dāng)一個特定的事件發(fā)生時,信號會被發(fā)送出去。Qt的窗體部件(widget)擁有眾多預(yù)先定義好的信號,當(dāng)然,我們也可以創(chuàng)建窗體部件(widget)的子類來為它們添加我們需要的自定義信號。槽,則是對一個特定的信號進(jìn)行的反饋。Qt的窗體部件(widget)同樣擁有眾多預(yù)先定義好的槽,但是通常的做法是,創(chuàng)建窗體部件(widget)的子類并添加自定義槽,以便對感興趣的信號進(jìn)行處理。

          信號和槽機(jī)制是類型安全的(type-safe):一個信號的參數(shù)必須和接收槽的參數(shù)匹配。由于這種參數(shù)匹配機(jī)制,編譯器以幫助我們檢查類型不匹配的簽名。信號與槽是松耦合(loosely coupled)的:一個發(fā)出信號的類既不知道也不關(guān)心哪一個槽接收到這個信號。Qt的信號和槽機(jī)制保證了如果你將一個信號連接到一個槽上,槽會在正確的時間以號的參數(shù)被調(diào)用。信號與槽可以攜帶任意個、任意類型的參數(shù)。他們是完全的類型安全。

          所有從QObject或者它的一個子類(比如:QWidget)繼承的類都可以使用號與槽。對象中以這種方式通信:一個對象的狀態(tài)發(fā)生了改變并發(fā)送信號,關(guān)心這個改變的另一對像接收到這個信號。發(fā)送信號的對象并不知道也不感興趣什么對象接收它所發(fā)出的信號,這是真正的信息封裝,保證了對象能被當(dāng)作軟件組件來使用。

          槽能被用來接收信號,除此之外它們也是普通的成員函數(shù)。槽不知道是否有信號與它連接起來,正如對象不知道它發(fā)出信號是否會被接收一樣。這樣的機(jī)制確保了可以使用Qt創(chuàng)建一個個完全獨(dú)立的組件。

          信號可以與槽進(jìn)行多對多的連接。就這樣,信號與插槽建立了強(qiáng)大的組件編程機(jī)制。

          布局

          編寫一個GUI應(yīng)用程序,首先要做的就是設(shè)計(jì)布局,以便將所有窗口小部件都合適的布局在應(yīng)用程序窗口中。和設(shè)計(jì)網(wǎng)頁一樣,你可以調(diào)整應(yīng)用程序的大小,甚至可以將其設(shè)置為固定大小。

          在Qt中,布局是十分順利的進(jìn)行,小部件被明確命名(QPushButton,QDial,QCheckbox,QLabel,甚至QCalendarWidget),并且易于調(diào)用,甚至連應(yīng)用文檔也很齊全。

          這里大多數(shù)的困惑都集中在基礎(chǔ)級的GUI元素中。 例如,如果您正在編寫應(yīng)用程序,您是否能從QMainWindow或QWidget開始構(gòu)建您的父窗口?

          QWidget是一個空的容器,能被所有其他小部件使用,當(dāng)然也能放置更多的QWidget來形成放置更多小部件的父窗口。QMainWindow使用QWidget,增加了大多數(shù)應(yīng)用程序需要的許多便利功能,如頂部的工具欄,底部的狀態(tài)欄等。

          ▲QMainWindow

          這是一個使用QMainWindow的小型文本編輯器,只有100多行Python代碼:

          wxPython中的基礎(chǔ)小部件是wx.Window。 wxPython中的所有內(nèi)容都是基于wx.Window類的,無論是實(shí)際的窗口還是按鈕,復(fù)選框或文本標(biāo)簽。如果類名寫錯了,wx.Window將直接忽略。

          下圖是使用wx.Frame創(chuàng)建一個空的窗口:

          將其他小部件放在wx.Frame窗口中,然后構(gòu)建GUI應(yīng)用程序。 例如,wx.Panel小部件類似于具有絕對大小約束的HTML中的div,因此您可以使用它在主窗口中創(chuàng)建面板。

          與PyQt相比,WxPython具有較少的便捷功能。 例如,復(fù)制和粘貼功能是建立在PyQt中的,而在wxPython中必須手工編碼(并且有部分還受其運(yùn)行的平臺的限制)。

          ▲WxPython框架

          wxPython中的簡單文本編輯器:

          你應(yīng)該使用哪一個呢?

          PyQt和wxPython GUI工具包都有自己的優(yōu)勢。

          WxPython在大多數(shù)情況下的應(yīng)用都是比較簡單的,即使在使用過程中出現(xiàn)一些難題,對于Python程序員來說也是很直觀、易于解決的。你不必學(xué)習(xí)太多的“wxWidget way”實(shí)例,它可以將零七碎八的工具包放置在GUI中,如果你定位的用戶空間已安裝GTK,那么wxPython會以最小的依賴關(guān)系輕輕松開。

          WxPython使用原生小部件使得開發(fā)的應(yīng)用程序與計(jì)算機(jī)上的應(yīng)用程序幾乎沒有不同。另外,對于wxPython的跨平臺不要期待太高,它有時會在某些平臺上出現(xiàn)安裝問題,因?yàn)樗鼪]有提供多層抽象來屏蔽平臺之間的差異。

          PyQt比較大,總是需要安裝一些依賴關(guān)系(特別是在非Linux和非BSD中)。沉重的代碼也帶來了很多便利性,Qt幾乎可以完全支持跨平臺,同時也提供了很多預(yù)置的功能和部件,這對于依靠Qt作為基礎(chǔ)框架的公司和一些開源項(xiàng)目來說都是非常重要的。

          至于WxPython和PyQt到底要選擇哪個,其實(shí)是沒有定論的,首先你要看它們的哪些點(diǎn)吸引或者說是吸引了你,其次如果你是一個成熟的程序員,你要可以選擇自己更擅長的,最重要的要根據(jù)項(xiàng)目的實(shí)際需求來進(jìn)行選擇。


          主站蜘蛛池模板: 欧洲精品码一区二区三区免费看| 日本精品一区二区久久久| 国产一区三区二区中文在线| 日韩在线视频一区二区三区| 亚洲一本一道一区二区三区| 国产一区二区在线观看视频| 日韩精品无码Av一区二区 | 色窝窝无码一区二区三区成人网站| 中文字幕日本精品一区二区三区| 亚洲av鲁丝一区二区三区| 高清精品一区二区三区一区| 国产成人精品一区二三区在线观看| 美女一区二区三区| 一区五十路在线中出| 亚洲一区二区三区深夜天堂| 国产精品无码一区二区三区在| 国产午夜精品一区理论片飘花| 亚洲一区二区三区写真| 国产成人无码一区二区在线播放| 亚洲国产AV无码一区二区三区| 亚洲色欲一区二区三区在线观看| 日韩一区二区三区射精| 亚洲一区精品视频在线| 国产精品毛片一区二区三区| 日韩精品一区二区三区中文3d| 精品一区二区三区在线观看视频| 精品一区二区三区自拍图片区| 精品一区二区三区自拍图片区| 交换国产精品视频一区| 日本一区高清视频| 国产在线观看精品一区二区三区91 | 日本精品一区二区三区在线观看| 爆乳熟妇一区二区三区霸乳| 中文字幕一区二区视频| 国产精品538一区二区在线| 无码中文字幕乱码一区 | 国产成人一区二区三区| 欲色aV无码一区二区人妻 | 中文字幕无码一区二区三区本日 | 色妞色视频一区二区三区四区| 亚洲毛片αv无线播放一区|