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

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

 更新時間:2023年01月03日 09:42:22   作者:Python無霸哥  
這篇文章主要介紹了教你用一行Python代碼實(shí)現(xiàn)GUI圖形界面,通過使用PySimpleGUI的popup_get_folder()方法,一行代碼就能實(shí)現(xiàn)選擇文件夾的操作,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

一、選擇文件夾

首先導(dǎo)入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()方法,一行代碼就能實(shí)現(xiàn)選擇文件夾的操作。

示例如下

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

點(diǎn)擊OK按鈕,顯示最終選擇的路徑信息,再次點(diǎn)擊OK按鈕,結(jié)束窗口。

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

二、選擇文件

選擇文件操作和上面選擇文件夾的有點(diǎn)相似。

# 窗口顯示文本框和瀏覽按鈕, 以便選擇文件
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)

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

示例如下

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

三、選擇日期

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

# 窗口顯示文本框和瀏覽按鈕, 以便選擇文件
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)

示例如下

選擇好日期后,點(diǎn)擊OK按鈕,即可返回日期元組結(jié)果。

四、輸入文本

使用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)

鍵入信息,示例如下

點(diǎn)擊OK按鈕,返回輸入的文本信息。

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

五、彈窗無按鈕

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

結(jié)果如下

六、彈窗無標(biāo)題

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

結(jié)果如下

七、彈窗只有OK按鈕

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

結(jié)果如下

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

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

結(jié)果如下

九、顯示通知窗口

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

結(jié)果如下, Task done提示信息淡入淡出。

十、彈窗選擇

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

結(jié)果如下

十一、自定義彈窗

上面那些彈窗都是庫自帶的,如果想自定義創(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)

結(jié)果如下

實(shí)戰(zhàn)

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

代碼如下,需要安裝xlwings庫,其中pathlib庫是內(nèi)置的。

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):
        # 顯示進(jìn)度
        sg.one_line_progress_meter("Current Progress", index + 1, len(files))
        wb = app.books.open(file)
        # 提取sheet表為單獨(dú)的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庫對輸入文件夾進(jìn)行遍歷,查找出所有xls格式文件的路徑地址。

點(diǎn)擊OK按鈕后,就會開始表格轉(zhuǎn)換,操作如下。

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

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

到此這篇關(guān)于教你用一行Python代碼實(shí)現(xiàn)GUI圖形界面的文章就介紹到這了,更多相關(guān)Python GUI圖形界面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Flask框架信號用法實(shí)例分析

    Flask框架信號用法實(shí)例分析

    這篇文章主要介紹了Flask框架信號用法,結(jié)合實(shí)例形式分析了Blinker的安裝及信號的接收等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python實(shí)現(xiàn)的銀行系統(tǒng)模擬程序完整案例

    Python實(shí)現(xiàn)的銀行系統(tǒng)模擬程序完整案例

    這篇文章主要介紹了Python實(shí)現(xiàn)的銀行系統(tǒng)模擬程序,結(jié)合完整實(shí)例形式分析了Python基于面向?qū)ο蟪绦蛟O(shè)計模擬的銀行系統(tǒng)登錄驗(yàn)證、開戶、找回密碼、掛失、查詢、存取款、轉(zhuǎn)賬等功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)

    PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)

    PyQt5是強(qiáng)大的GUI工具之一,通過其可以實(shí)現(xiàn)優(yōu)秀的桌面應(yīng)用程序。本文主要介紹了PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn),具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • Python使用Opencv實(shí)現(xiàn)圖像特征檢測與匹配的方法

    Python使用Opencv實(shí)現(xiàn)圖像特征檢測與匹配的方法

    這篇文章主要介紹了Python使用Opencv實(shí)現(xiàn)圖像特征檢測與匹配的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python實(shí)現(xiàn)IP代理批量采集的示例代碼

    Python實(shí)現(xiàn)IP代理批量采集的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)IP代理批量采集,并檢測代理是否可用。文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-09-09
  • python讀寫LMDB文件的方法

    python讀寫LMDB文件的方法

    這篇文章主要為大家詳細(xì)介紹了python讀寫LMDB文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • python實(shí)現(xiàn)堆和索引堆的代碼示例

    python實(shí)現(xiàn)堆和索引堆的代碼示例

    本篇文章主要介紹了python實(shí)現(xiàn)堆和索引堆的代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • python實(shí)現(xiàn)Virginia無密鑰解密

    python實(shí)現(xiàn)Virginia無密鑰解密

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Virginia無密鑰解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python Pandas 如何shuffle(打亂)數(shù)據(jù)

    Python Pandas 如何shuffle(打亂)數(shù)據(jù)

    這篇文章主要介紹了Python Pandas 如何shuffle(打亂)數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python 基于selectors庫實(shí)現(xiàn)文件上傳與下載

    python 基于selectors庫實(shí)現(xiàn)文件上傳與下載

    這篇文章主要介紹了python 基于selectors庫實(shí)現(xiàn)文件上傳與下載的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12

最新評論

通许县| 莲花县| 综艺| 闻喜县| 礼泉县| 福清市| 巴里| 新田县| 弋阳县| 枣强县| 南和县| 尚志市| 无棣县| 广州市| 天全县| 蓬安县| 连城县| 宝应县| 鹿邑县| 长乐市| 德清县| 吴桥县| 辽阳县| 搜索| 吉隆县| 峨眉山市| 阿克苏市| 康乐县| 五河县| 泰州市| 抚松县| 澄城县| 盈江县| 吉安县| 苏尼特左旗| 手机| 焦作市| 界首市| 宁城县| 宜州市| 中牟县|