在Windows上使用Python 3,Glade和GTK + 3開發應用程序

介紹

在使用Python 3,Glade和GTK + 3開發應用程序的GNU / Linux中,這非常容易,大多數發行版中默認提供這些軟件包。

謝謝 格萊德 我們可以快速輕鬆地創建用戶界面,然後將其與Python結合使用。 為此,您可以使用 PyG對象 感謝GNOME提供的自省系統,該系統極大地促進了快速的應用程序開發(RAD); 也可以使用通過Glade從其他編程語言創建的接口。

當我們要在Microsoft Windows中使用應用程序時,就會出現問題,因為直到最近該系統的軟件包才正式存在。

在本教程中,旨在使用Python 3和GTK + 3在GNU / Linux中創建的應用程序在Windows中運行時不會出現問題。

要求條件

  • Python的3.3
  • Gtk + 3
  • Glade 3.14或更高版本(GUI設計器)
  • 對象

在Windows上安裝

首先創建一個名為 軟體 或您的其他偏好設置,我們將在其中保存所有已下載的軟件包。

下載安裝包

下載Python 3.3

可以從Python官方頁面下載 python.org

下載Python安裝程序

下載Python安裝程序

通過點擊鏈接(Windows安裝程序),Python安裝程序將下載。

下載Glade

下載地址: 林間空地.gnome.org

Python和Glade版本都是32位的,但是它們可以在64位系統上完美運行

Glade Page

Glade Page

下載PyGObject

下載地址: https://wiki.gnome.org/PyGObject

我們必須下載GTK + 3的版本

PyG對象

PyG對象

Google代碼中的PyGObject

Google代碼中的PyGObject

安裝軟件包

至此,我們已經在文件夾中保存了所有下載的軟件包 軟體 下載完每個軟件包後,我們將首先從Python安裝開始。

下載包

下載包

Python安裝

安裝非常簡單,嚮導將指導我們完成該過程; 我們保留所有選項為默認標記。

Python安裝程序

Python安裝程序

如圖所示,Python安裝在文件夾中 C:\ Python33 \ 默認情況下,我們保持原樣,然後繼續安裝。

Python安裝文件夾

Python安裝文件夾

在安裝時,我們選擇選項 將python.exe添加到路徑,目的是當我們啟動Python解釋器時,無需手動將其添加到系統路徑即可執行該解釋器。

將Python添加到系統路徑

將Python添加到系統路徑

然後,我們完成安裝,並且將在系統上安裝Python。

Glade安裝

Glade安裝並不代表主要的複雜性,我們運行安裝程序並按照嚮導的步驟進行操作。

安裝林間空地

安裝林間空地

PyGObject安裝

我們已經下載了軟件包 pygi-aio-3.4.2rev11.7z,此軟件包包括適用於Python 3.3的PyGObject和適用於Windows的GTK + 3庫,並使用 7-ZIP,我們將其解壓縮,然後將得到一個包含以下內容的文件夾:

pygi-aio-3.4.2rev11.7文件夾的內容

pygi-aio-3.4.2rev11.7文件夾的內容

現在我們複製文件夾 GTK a C:\ Python33 \ Lib \ site-packages 這是安裝Python第三方軟件包的位置。

複製gtk文件夾

複製gtk文件夾

位於C:\ Python33 \ Lib \ site-packages的Gtk文件夾

位於C:\ Python33 \ Lib \ site-packages的Gtk文件夾

我們回到文件夾 pygi-aio-3.4.2rev11 然後打開文件夾 py33 適用於Python版本3.3

py33文件夾的內容

py33文件夾的內容

我們選擇 所有內容 從資料夾中 py33 然後將其複制回文件夾 C:\ Python33 \ Lib \ site-packages,我們將被要求混合和覆蓋,我們肯定地回答。 文件夾內容 網站包裝 如下圖所示:

將py33文件夾的內容複製到C:\ Python33 \ Lib \ site-packages

將py33文件夾的內容複製到C:\ Python33 \ Lib \ site-packages

檢查PyGobject和GTK + 3的正確安裝

為了檢查我們的安裝是否正確,我們打開Python IDLE並導入GTK + 3庫,如果沒有任何錯誤消息,則說明一切正確。

from gi.repository import Gtk

PyGobject和GTK + 3正確安裝

PyGobject和GTK + 3正確安裝


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   華金 他說:

    為什麼選擇GTK? 在QT中發展會更好嗎? 除了跨平台之外,還有很多人說這是未來

    1.    us 他說:

      GNU / Linux桌面上的兩個出色的圖形庫分別是GTK和QT,每個庫都選擇自己喜歡的一個。 沒有理由打架。

      GTK和QT之間的區別在於後者確實是一個很好的框架,但是作為一個框架,它消耗更多的資源。

      例如,Mozilla Firefox,Google Chrome,LibreOffice和long etcetera是使用GTK製作的; 這並不意味著它比QT好,每個人都應該選擇適合其偏好和需求的QT,我們不想對此進行討論。

      1.    潘德夫92 他說:

        Google Chrome從33版開始,離開gtk。

  2.   羅洛 他說:

    以及為什麼對Windows而不是Linux的解釋

    1.    德語 他說:

      是因為在Linux中所有內容都已經打包,並且在每個發行版的正式存儲庫中了嗎? 例如,在Fedora中,我已經默認安裝了Python 3,Gtk + 3和PyGobject。 如果我想要Glade,那就只是“百勝安裝空地”。 容易吧? 🙂

    2.    us 他說:

      因為正如Germán所說,對於GNU / Linux發行版,它們已經打包好了,安裝起來非常容易。 例如在Debian中安裝Glade非常簡單:
      資質安裝林間空地

  3.   馬* 他說:

    如果要使用Python 2.7,步驟是否相同?
    顯然,安裝2.7位Python 32(即使使用64位操作系統)也可以,而不是py33文件夾。 能行嗎?
    謝謝。

    1.    us 他說:

      好吧,是的,如果您有問題,請給我評論。

      運氣。

      1.    馬* 他說:

        謝謝,我已經嘗試過了,現在“ Hello world”對我有用。

        我看我能否得到任何好的pyGTK3教程或任何所謂的教程,以及任何問題,警告。

          1.    馬* 他說:

            卡蘭巴! 非常感謝!

          2.    馬* 他說:

            在Windows上使用Python 3測試GTK2.7,並按照教程進行操作。 到目前為止,所有程序都對我有用,除了第14章(IconView-> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            它給了我以下錯誤:
            追溯(最近一次通話):
            文件“ C:\ Users \ User \ Desktop \ test.py”,第24行,在
            贏= IconViewWindow()
            __init__中的文件“ C:\ Users \ User \ Desktop \ test.py”,第19行
            pixbuf = Gtk.IconTheme.get_default()。load_icon(icon,64,0)
            功能中的文件“ C:\ Python27 \ lib \ site-packages \ gi \ types.py”,第47行
            返回info.invoke(* args,** kwargs)
            GError:主題中不存在圖標“ gtk-cut”

            我嘗試了其他圖標,但也沒有用。 我需要安裝主題嗎? 從現在開始謝謝。

          3.    馬* 他說:

            示例19.也不拖放。

            在這兩種情況下都會調用的函數,而這是我得到錯誤的地方:

            pixbuf = Gtk.IconTheme.get_default()。load_icon(icon_name,16,0)

            我找不到該圖標,但是在其他示例中,您可以使用它們。 僅在我要與該函數一起使用時才給我一個錯誤(此處icon_name可以替換為Gtk.STOCK_CUT之類的值,或者給出完全相同的錯誤)。

          4.    馬* 他說:

            我一直在自言自語。 在其他示例中,對我有用的是將圖像加載到按鈕上。 我無法使用前面給出的兩個示例中的功能加載圖標。

          5.    us 他說:

            我認為錯誤很明顯:
            GError:主題中不存在圖標“ gtk-cut”

            顯然該圖標不可用,請使用另一個圖標。 軟件包維護者可能未包含主題圖標,或者在默認路徑中找不到主題圖標,請使用GNU / Linux發行版,查看是否仍然出現相同的錯誤。

            關於問題19,它似乎與PyGobject版本有關,在文檔頂部顯示:

            備註
            要使以下示例正常工作,必須使用PyGObject = 3.0.3的版本。

            您擁有的版本是3.0,請嘗試使用GNU / Linux發行版; 然後我們必須等待他們更新軟件包(對於Windows),或者在任何情況下您都可以自己編譯。

            問候並繼續前進。

          6.    馬* 他說:

            在Ubuntu中,所有教程示例都非常適合我。 在Windows上,它仍然不起作用。 我將不得不等待。 另一個不走的例子是Spinner的示例,它不執行動畫。 問候和感謝。

  4.   約書亞 他說:

    我已按照安裝教程進行操作,並逐步安裝了所有內容。
    並執行以下代碼:
    從gi.repository導入Gtk

    FiestraPrincipal類:
    def __init __(個體):
    filename =“ / data / dam / Python示例/ Saudoform”
    構造函數= Gtk.builder()
    constructor.add_from_file(文件名)
    #將我們的西奈事件與事件聯繫起來的字典
    西奈斯= {
    «ClickedAccept»:self.clic_boton,
    “ ActivateTextCadro”:self.clic_boton,
    “ DestroyFiestra”:Gtk.main_quit

    }
    builder.connect_signals(sinais)
    #我們獲得了對XML描述符的引用,以便能夠訪問
    self.label = self.widgets_widget(“標籤”)
    self.cadroTexto = self.widgets_widget(“ CadroTexto”)

    def button_click(自身,小部件):
    文字= self.cadroTexto.get_text()
    self.label.set_text(“ wave%s”%text)

    如果__name__ ==»__ main__»:
    FiestraPrincipal()
    Gtk.Main()

    我得到這個答案:
    追溯(最近一次通話):
    文件«C:/用戶/管理員/ Google雲端硬盤/測試/ SaudoForm.py»,第3行,在
    從gi.repository導入Gtk
    文件“ C:\ Python33 \ lib \ site-packages \ gi \ __ init__.py”,第27行,在
    從._gi導入_API,存儲庫
    ImportError:DLL加載失敗:%1不是有效的Win32應用程序。

    有人知道問題是什麼,或者可能是什麼解決方案。
    非常感謝。

  5.   耶穌 他說:

    有趣。 我已經在linux上完成了安裝,但是Windows的解釋很好,現在兩者都有。 😉

  6.   拉法·卡莫納(Rafa Carmona) 他說:

    第一次在7位Windows 32上很有趣。
    在Windows 7 64位上,我無法使其運行,但我總是可以得到它。
    >>>從gi.repository導入Gtk
    追溯(最近一次通話):
    檔案«»,第1行
    文件“ C:\ Python33 \ lib \ site-packages \ gi \ __ init__.py”,第27行,在
    從._gi導入_API
    ImportError:DLL加載失敗:找不到指定的進程。

    無論如何我都嘗試過,我已經失去了安裝它的幻想。

    1.    us 他說:

      您會看到64位庫仍然存在一些錯誤,請同時安裝python和GTK +的32位版本,這樣就不會出現問題。

      你永遠不要失去幻想

  7.   理查德 他說:

    嗨,我正在使用python + gtk3,這非常好,現在我有一個小問題,在這種情況下,我想將圖標更改為窗體(窗口),我可以更改它,在此先感謝,謝謝

  8.   喬斯 他說:

    發布有關如何在gtk + 3中進行編程的簡單視頻以及簡單的教程問候

  9.   何塞 他說:

    優秀的教程。 非常感謝您的努力。 問候。

  10.   第1030章 他說:

    我做了所有步驟,當我信任安裝時,出現了此錯誤。

    追溯(最近一次通話):
    檔案«»,第1行
    從gi.repository導入Gtk
    ImportError:沒有名為“ gi”的模塊