課時35:圖形用戶界面入門

来源:https://www.cnblogs.com/DC0307/archive/2018/08/21/9514364.html
-Advertisement-
Play Games

目錄: 一、安裝GUI工具包:EasyGui 二、導入EasyGui 三、使用EasyGui 四、修改預設設置 五、課時35課後習題及答案 *********************************** 一、安裝GUI工具包:EasyGui ************************* ...


目錄:

  一、安裝GUI工具包:EasyGui

  二、導入EasyGui

  三、使用EasyGui

  四、修改預設設置

  五、課時35課後習題及答案

 

***********************************

一、安裝GUI工具包:EasyGui

***********************************

本章介紹的是圖形用戶界面編程,也就是平時所說的GUI(讀作【gu:i】)編程,那些帶有按鈕、文本、輸入框的視窗的編程,相信大伙都不會陌生。

目前有很多Python的GUI工具包可供選擇,Python有一個非常簡單的GUI工具包:EasyGui。EasyGui跟它的名字一樣的簡單,一旦你的模塊導入了EasyGui,GUI操作就是一個簡單地調用EasyGui函數的幾個參數的問題了。

EasyGui官網:http://easygui.sourceforge.net

使用標準方法安裝:

第一步:解壓easygui-0.96.zip

第二步:使用命令視窗切換到easygui-docs-0.96的目錄下。

第三步:在windows下執行  C:\Python34\python.exe setup.py install

    在Linux或Mac下執行  sudo /usr/bin/python34 setup.py install

   (命令的前面部分是python程式在電腦上的安裝路徑,自行進行修改)

windows下的安裝界面如下圖所示:

 

 

********************

二、導入EasyGui

********************

為了使用這個Easygui這個模塊,你應該先導入它。最簡單的導入語句是 import easygui。

如果用這種導入方式的話,那麼在使用easygui的函數時候,必須在函數的前面加上首碼easygui:

>>> import easygui
>>> easygui.msgbox("DC love ZWW")

回車後即彈出消息框,如圖所示:

 

另一種選擇是導入整個Easygui包:from easygui import *,這樣使得我們更容易調用Easygui的函數,可以直接這樣編寫代碼:

>>> from easygui import *
>>> msgbox("DC love ZWW")

第三種方案是使用類似下邊的import語句(建議使用):import easygui as g,這樣可以讓你保持Easygui的命名空間,同時減少輸入字元的數量:

>>> import easygui as g
>>> g.msgbox("DC love ZWW")

 

********************

三、使用EasyGui

********************

 舉一個簡單的例子:

import easygui as g
import sys

while 1:
      g.msgbox ("嗨,歡迎進入第一個界面小游戲")
      msg = "請問你希望學到什麼知識呢?"
      title = "游戲小互動"
      choices = ["談戀愛","編程","demo","琴棋書畫"]
      choices = g.choicebox(msg,title,choices)
      
      g.msgbox("您的選擇是:"+str(choices),"結果")
      msg = "你希望重新開始小游戲嗎?"
      title = "請選擇"
      if g.ccbox(msg,title):
            pass
      else:
            sys.exit(0)

 

 

*********************

四、修改預設設置

*********************

 預設情況下顯示的對話框會很大,而且字體也相對難看。這裡可以手動調整EsayGui的參數修改。

修改位置為 C:\Python34\Lib\site-packages\easygui.py。

更改對話框尺寸:找到def _ _choicebox,下邊的 root_width    = int((screen_width * 0.8))和 root_height   = int((screen_height * 0.5))分別改為root_width    = int((screen_width * 0.4))和 root_height   = int((screen_height * 0.25))

 

EasyGui提供了非常多的組件供我們實現一個完整的界面程式,剛纔演示了 msgbox、choicebox和ccbox的用法。關於更多的組建使用,大家可以參考小甲魚翻譯的《EasyGui學習文檔》:http://bbs.fishc.com/thread-46069-1-1.html

*******************************

五、課時35課後習題及答案

*******************************

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 《Spring Boot基礎教程》 第1節 工具的安裝和使用 Spring Boot文檔 https://qbgbook.gitbooks.io/spring-boot-reference-guide-zh/content/I.%20Spring%20Boot%20Documentation/ 一、 ...
  • 一.字元格式化輸出 占位符 %s s = string 字元串 %d d = digit 整數 %f f = float 浮點數 ''' ......'''不僅可以表示註釋多行,也可以表示列印多行。 二.str.isdigit()方法 檢查字元串是否只由數字組成 三.for迴圈 簡單的for迴圈,輸 ...
  • 一、前言 最近在做Matalb/Simulink與C/C++的混合編程,主要是完成TCP、UDP、SerialPort等常見通信方式的中間件設計,為Simulink模型提供數據採集及解析模塊。 問題在於沒有搞清楚Simulink中調用C/C++的內在機制,將測試OK的C++程式移植到mex上時,總會 ...
  • 楊輝三角有以下幾個特點 : 每個數等於它上方兩數之和。 每行數字左右對稱,由1開始逐漸變大。 第n行的數字有n項。 第n行數字和為2n-1。 第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。 第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。 ...
  • 規則 1. 每次移動一個盤子 2. 任何時候大盤子在下麵,小盤子在上面 方法 假設共n個盤子 當n=1時: 1. 直接把A上的一個盤子移動到C上(A C) 當n=2時: 1. 把小盤子從A放到B上(A B) 這裡開始採用參數,rsc源地址=A,dst目的地址=B 2. 把大盤子從A放到C上( A C ...
  • 應用、藍圖與視圖函數 1. 結構,如圖: 1. Flask最上層是 ,在這個核心對象上可以插入很多藍圖,這個藍圖是不能單獨存在的,必須將app作為插板插入app ,在每一個藍圖上,可以註冊很多靜態文件,視圖函數,模板 ,一個業務模塊可以做為一個藍圖,比如book,之前的book.py 放到了app/ ...
  • python多進程,多線程之鎖機制 鎖添加的原因: 在多進程/多線程同時進入臨界資源區獲取和操作共有資源時,會出現資源的爭奪而出現混亂。為了避免這種混亂現象,python提出了鎖機制 線程鎖/進程鎖的定義和運用: 創建鎖對象: lock = Lock() 鎖對象一旦創建,就可以隨時被進程或者線程調用 ...
  • 項目已提測,這兩天我們都集中精力梳理外包團隊給我司研發的這個三方支付系統的代碼邏輯。今天下午愛琴海會議室,開發組裡一同學分享他對支付結果回調的梳理成果。 支付結果回調的整體時序是:支付渠道方處理完用戶支付信息後,主動調用我方在支付發起時提供的回調地址,把支付結果推給我方,我方處理完成後,回寫字元串“ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...