最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你如何用一行Python代碼實現(xiàn)GUI圖形界面

 更新時間:2022年05月18日 11:30:32   作者:天天開心學編程  
GUI(圖形用戶界面),顧名思義就是用圖形的方式,來顯示計算機操作的界面,更加方便且直觀。本文將用一行代碼實現(xiàn)GUI界面的制作,需要的可以參考一下

GUI(圖形用戶界面),顧名思義就是用圖形的方式,來顯示計算機操作的界面,更加方便且直觀。

一個好看又好用的GUI,可以大大提高大家的使用體驗,提高效率。

比如你想開發(fā)一個計算器,如果只是一個程序輸入,輸出窗口的話,是沒有用戶體驗的。

所以開發(fā)一個圖形化的小窗口,就變得很有必要。

今天,小F就給大家介紹如何只用一行Python代碼制作一個GUI。

主要使用Python的PySimpleGUI庫來完成這個工作。

# 安裝PySimpleGUI
pip install PySimpleGUI -i https://mirror.baidu.com/pypi/simple

詳細的接口文檔地址。

1、選擇文件夾

首先導入PySimpleGUI庫,并且用縮寫sg來表示。

import PySimpleGUI as sg
 
# 窗口顯示文本框和瀏覽按鈕, 以便選擇一個文件夾
dir_path = sg.popup_get_folder("Select Folder")
if not dir_path:
    sg.popup("Cancel", "No folder selected")
    raise SystemExit("Cancelling: no folder selected")
else:
    sg.popup("The folder you chose was", dir_path)

通過使用PySimpleGUI的popup_get_folder()方法,一行代碼就能實現(xiàn)選擇文件夾的操作。

示例如下

點擊Browse按鈕,選擇文件夾,文本框就會顯示出文件夾的絕對路徑。

點擊OK按鈕,顯示最終選擇的路徑信息,再次點擊OK按鈕,結束窗口。

如果沒有選擇文件夾,而是直接點擊OK按鈕,會直接提示沒有選取文件夾。

2、選擇文件

選擇文件操作和上面選擇文件夾的有點相似。

# 窗口顯示文本框和瀏覽按鈕, 以便選擇文件
fname = sg.popup_get_file("Choose Excel file", multiple_files=True, file_types=(("Excel Files", "*.xls*"),),)
if not fname:
    sg.popup("Cancel", "No filename supplied")
    raise SystemExit("Cancelling: no filename supplied")
else:
    sg.popup("The filename you chose was", fname)

不同的是,選擇文件可以設置multiple_files(是否為多個文件)和file_types(文件類型)參數(shù)。

示例如下

選擇了多個Excel文件,最終結果返回了所有文件的路徑地址。

3、選擇日期

使用popup_get_date()方法,顯示一個日歷窗口。

# 顯示一個日歷窗口, 通過用戶的選擇, 返回一個元組(月, 日, 年)
date = sg.popup_get_date()
if not date:
    sg.popup("Cancel", "No date picked")
    raise SystemExit("Cancelling: no date picked")
else:
    sg.popup("The date you chose was", date)

示例如下

選擇好日期后,點擊OK按鈕,即可返回日期元組結果。

4、輸入文本

使用popup_get_text()方法,顯示一個文本輸入框。

# 顯示文本輸入框, 輸入文本信息, 返回輸入的文本, 如果取消則返回None
text = sg.popup_get_text("Please enter a text:")
if not text:
    sg.popup("Cancel", "No text was entered")
    raise SystemExit("Cancelling: no text entered")
else:
    sg.popup("You have entered", text)

鍵入信息,示例如下

點擊OK按鈕,返回輸入的文本信息。

如果沒有輸入,直接點擊OK按鈕,會提示沒有文本輸入。

5、彈窗無按鈕

# 顯示一個彈窗, 但沒有任何按鈕
sg.popup_no_buttons("You cannot click any buttons")

結果如下

6、彈窗無標題

# 顯示一個沒有標題欄的彈窗
sg.popup_no_titlebar("A very simple popup")

結果如下

7、彈窗只有OK按鈕

# 顯示彈窗且只有OK按鈕
sg.popup_ok("You can only click on 'OK'")

結果如下

8、彈窗只有Error按鈕(紅色)

# 顯示彈窗且只有error按鈕, 按鈕帶顏色
sg.popup_error("Something went wrong")

結果如下

9、顯示通知窗口

# 顯示一個“通知窗口”, 通常在屏幕的右下角, 窗口會慢慢淡入淡出
sg.popup_notify("Task done!")

結果如下, Task done提示信息淡入淡出。

10、彈窗選擇

# 顯示彈窗以及是和否按鈕, 選擇判斷
answer = sg.popup_yes_no("Do you like this video?")
sg.popup("You have selected", answer)

結果如下

11、自定義彈窗

上面那些彈窗都是庫自帶的,如果想自定義創(chuàng)建,可以參考下面的方法。

# 自定義創(chuàng)建彈窗, 一行代碼完成
choice, _ = sg.Window(
    "Continue?",
    [[sg.T("Do you want to subscribe to this channel?")], [sg.Yes(s=10), sg.No(s=10), sg.Button('Maybe', s=10)]],
    disable_close=True,
).read(close=True)
sg.popup("Your choice was", choice)

結果如下

12、實戰(zhàn)

最后來個綜合實戰(zhàn)案例,將某個文件夾下所有的Excel文件中的sheet表,一一保存為單獨的Excel文件

代碼如下,需要安裝xlwings庫,其中pathlib庫是內置的。

from pathlib import Path
import PySimpleGUI as sg
import xlwings as xw
 
# 選擇輸入文件夾
INPUT_DIR = sg.popup_get_folder("Select an input folder")
if not INPUT_DIR:
    sg.popup("Cancel", "No folder selected")
    raise SystemExit("Cancelling: no folder selected")
else:
    INPUT_DIR = Path(INPUT_DIR)
 
# 選擇輸出文件夾
OUTPUT_DIR = sg.popup_get_folder("Select an output folder")
if not OUTPUT_DIR:
    sg.popup("Cancel", "No folder selected")
    raise SystemExit("Cancelling: no folder selected")
else:
    OUTPUT_DIR = Path(OUTPUT_DIR)
 
# 獲取輸入文件夾中所有xls格式文件的路徑列表
files = list(INPUT_DIR.rglob("*.xls*"))
 
with xw.App(visible=False) as app:
    for index, file in enumerate(files):
        # 顯示進度
        sg.one_line_progress_meter("Current Progress", index + 1, len(files))
        wb = app.books.open(file)
        # 提取sheet表為單獨的Excel表格
        for sheet in wb.sheets:
            wb_new = app.books.add()
            sheet.copy(after=wb_new.sheets[0])
            wb_new.sheets[0].delete()
            wb_new.save(OUTPUT_DIR / f"{file.stem}_{sheet.name}.xlsx")
            wb_new.close()
 
sg.popup_ok("Task done!")

首先選擇輸入文件夾和輸出文件夾的地址。

然后通過pathlib庫對輸入文件夾進行遍歷,查找出所有xls格式文件的路徑地址。

點擊OK按鈕后,就會開始表格轉換,操作如下。

使用了one_line_progress_meter()方法顯示程序處理的進度。

20表示有20次循環(huán),原始Excel文件總計有20個,需要處理20次,其他的都在上圖中標示出來咯。

以上就是教你如何用一行Python代碼實現(xiàn)GUI圖形界面的詳細內容,更多關于PythonGUI圖形界面的資料請關注腳本之家其它相關文章!

相關文章

  • 利用Python繪制數(shù)據(jù)的瀑布圖的教程

    利用Python繪制數(shù)據(jù)的瀑布圖的教程

    這篇文章主要介紹了利用Python繪制數(shù)據(jù)的瀑布圖的教程,教程中主要用到Pandas和matplotlib這兩個庫,需要的朋友可以參考下
    2015-04-04
  • Python?ftfy?包的使用案例解析

    Python?ftfy?包的使用案例解析

    Unicode是一種字符編碼標準,用于表示文本中的字符,通過安裝 ftfy 軟件包,可以在 Python 中使用它提供的函數(shù)和工具來處理和修復文本中的 Unicode 問題,從而確保文本在各種應用中的正確性和可靠性,這篇文章主要介紹了Python ftfy包的理解和使用,需要的朋友可以參考下
    2023-05-05
  • Python實現(xiàn)彈球小游戲

    Python實現(xiàn)彈球小游戲

    這篇文章主要介紹了Python實現(xiàn)彈球小游戲的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • python?memory_profiler庫生成器和迭代器內存占用的時間分析

    python?memory_profiler庫生成器和迭代器內存占用的時間分析

    這篇文章主要介紹了python?memory_profiler庫生成器和迭代器內存占用的時間分析,文章圍繞主題展開詳細的內容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • python opencv minAreaRect 生成最小外接矩形的方法

    python opencv minAreaRect 生成最小外接矩形的方法

    這篇文章主要介紹了python opencv minAreaRect 生成最小外接矩形的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-07
  • python中Tkinter詳細基礎教學實例代碼

    python中Tkinter詳細基礎教學實例代碼

    這篇文章主要給大家介紹了關于python中Tkinter詳細基礎教學的相關資料,文中介紹了如Label、Button、Entry、Text、Frame、Menu、Canvas、Messagebox等的基本屬性和用法,并介紹了布局管理器pack、grid和place的使用方法,需要的朋友可以參考下
    2024-12-12
  • Python寫出新冠狀病毒確診人數(shù)地圖的方法

    Python寫出新冠狀病毒確診人數(shù)地圖的方法

    在本篇文章里小編給大家分享的是關于Python做新冠狀病毒確診人數(shù)地圖的詳解內容,需要的朋友們可以學習下。
    2020-02-02
  • Python基類函數(shù)的重載與調用實例分析

    Python基類函數(shù)的重載與調用實例分析

    這篇文章主要介紹了Python基類函數(shù)的重載與調用方法,實例分析了Python中基類函數(shù)的重載及調用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python DES加密實現(xiàn)原理及實例解析

    Python DES加密實現(xiàn)原理及實例解析

    這篇文章主要介紹了Python DES加密實現(xiàn)原理及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • python使用建議與技巧分享(二)

    python使用建議與技巧分享(二)

    這篇文章主要介紹了python的使用建議與一些技巧的分享,對大家理解和學習python有所幫助,感興趣的朋友可以了解下
    2020-08-08

最新評論

建平县| 苍山县| 祁门县| 滦南县| 鄯善县| 西安市| 平塘县| 修文县| 海盐县| 长宁区| 峨边| 彭阳县| 叙永县| 长治市| 宁河县| 大理市| 青阳县| 北宁市| 砚山县| 伊春市| 东乡族自治县| 永昌县| 湛江市| 墨脱县| 江华| 巍山| 张家港市| 东乌| 东安县| 沙田区| 民权县| 南丹县| 柞水县| 甘德县| 富川| 固阳县| 绥化市| 葫芦岛市| 天门市| 达州市| 田林县|