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

Python實戰(zhàn)之設(shè)計一個多功能辦公小工具

 更新時間:2021年12月02日 15:54:10   作者:編程簡單學(xué)  
這篇文章主要介紹了通過Python制作一個多功能的辦公小工具,可以實現(xiàn)應(yīng)用、網(wǎng)頁直達以及天氣查詢,代碼具有一定學(xué)習價值,需要的小伙伴可以了解一下

UI排版布局

主頁通過分頁欄來劃分不同的界面,以及窗體最小化,最大化,關(guān)閉功能。

應(yīng)用、網(wǎng)頁直達頁由簡單的按鈕組成,前后對正、左右標齊。

天氣查詢欄,有簡單的“按鈕、輸入框、標簽框”組成。

界面美化方面采用的是“插畫”的元素,因為放入一整張照片不僅會填充整個界面,而且也很不好看。

圖形界面的設(shè)計思想

圖形界面我采用的是Python自帶的tkinter庫,我認為圖形界面的學(xué)習并不是難的,當你熟練之后,你就會發(fā)現(xiàn),他就是一個“窗口+部件+函數(shù)”的一個流程,窗口為我們進一步的設(shè)計提供好“容器”,部件為我們所實現(xiàn)的功能打下“基礎(chǔ)”,而函數(shù)則是我們通過按鈕的觸發(fā)所實現(xiàn)的“功能”。

實現(xiàn)步驟

界面布局

from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import os
import webbrowser
import urllib.request   #發(fā)送網(wǎng)絡(luò)請求,獲取數(shù)據(jù)
import gzip             #壓縮和解壓縮模塊
import json             #解析獲得的數(shù)據(jù)
import tkinter as tk
import random
from PIL import Image, ImageTk
import glob
import shutil
 
TOP6 = Tk()
TOP6.geometry("630x775")
 
TOP6.iconbitmap('寧寧圖標工具.ico')#指定圖標
 
TOP6.title('寧寧小助手')
 
 
 
tab_main=ttk.Notebook(TOP6)#創(chuàng)建分頁欄
tab_main.place(relx=0, rely=0, width=630, height=774)
 
tab1=Frame(tab_main,width=400, height=300)#創(chuàng)建第一頁框架
 
 
 
tab1.place(x=0,y=30)
tab_main.add(tab1,text='學(xué)習?通訊')#將第一頁插入分頁欄中
 
image1 = Image.open('Card Payment_Outline(1).png')
pyt1 = ImageTk.PhotoImage(image1)
label2 = Label(tab1, image=pyt1)
label2.place(x=0,y=500)
 
 
image2 = Image.open('CPU_Two Color.png')
pyt2 = ImageTk.PhotoImage(image2)
label2 = Label(tab1, image=pyt2)
label2.place(x=200,y=100)
 
image3 = Image.open('AR_Outline.png')
pyt3 = ImageTk.PhotoImage(image3)
label2 = Label(tab1, image=pyt3)
label2.place(x=0,y=0)
 
BUTTON = Button(tab1, fg='black',bd=5, text="?QQ",width = 20,command = QQ,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=30,y=50)
 
BUTTON = Button(tab1, bd=5,  fg='black',text="?微信",width = 20,command = WeChat,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=380,y=50)
 
 
 
BUTTON = Button(tab1, fg='black', bd=5, text="?AE",width = 10,command = AE,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=450,y=200)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?PR",width = 10,command = PR,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=200)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?剪映",width = 10,command = jian_ying,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=50,y=200)
 
 
BUTTON = Button(tab1, fg='black', bd=5, text="?WPS",width = 10,command = WPS,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=50,y=280)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?剪映",width = 10,command = jian_ying,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=280)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?百度網(wǎng)盤",width = 10,command = wangpan,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=280)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?BiBili",width = 10,command = bili,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=450,y=280)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?百度C一下",width = 10,command = baidu,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=360)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?學(xué)習通",width = 10,command = xue_tong,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=50,y=360)
 
BUTTON = Button(tab1, fg='black', bd=5, text="?湘大教育",width = 10,command = xiangda,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=450,y=360)
 
 
 
BUTTON = Button(tab1, fg='black', bd=5, text="QQ游戲",width = 10,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=500)
 
BUTTON = Button(tab1, fg='black', bd=5, text="網(wǎng)易云音樂",width = 10,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=50,y=500)
 
BUTTON = Button(tab1, fg='black', bd=5, text="騰訊視屏",width = 10,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=450,y=500)
 
BUTTON = Button(tab1, fg='black', bd=5, text="愛奇藝",width = 10,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=250,y=570)
 
tab2=Frame(tab_main)
tab2.place(x=100,y=30)
tab_main.add(tab2,text='天氣?助手')
 
image4 = Image.open('Weather_Isometric.png')
pyt4 = ImageTk.PhotoImage(image4)
label2 = Label(tab2, image=pyt4)
label2.place(x=0,y=0)
 
size_str=StringVar()
habits = tk.LabelFrame(tab2, text="相比于藍天,我更想選擇陽菜", padx=0, pady=0 )  # 水平,垂直方向上的邊距均為 10
habits.place(x=45,y=450)
habits_Window = Label(habits,textvariable=size_str, width=60, height=15,  font=('楷體', 13))
habits_Window.grid()
 
label1 = StringVar()
input_name = Label(tab2, text='???請輸入您想要查詢的城市???', font=('楷體', 14)).place(x=160, y=20)
entry = Entry(tab2, bg='#ffffff', width=20, textvariable=label1, font=('楷體', 13)).place(x=223, y=72)
 
right_data_button = Button(tab2,fg='#696969', text="C一下",width = 10,command = show_data, font=('黑體', 13)).place(x=260, y=125)
 
tab3=Frame(tab_main)
tab3.place(x=200,y=30)
tab_main.add(tab3,text='文件?整理')
BUTTON = Button(tab3, fg='#696969', bd=5, text="桌面端文件整理",width = 20,command = zhengli,
                    font=("黑體", 14))
BUTTON.grid(row=5, column=0, sticky=W)
BUTTON.place(x=200,y=50)
 
TOP6.mainloop()

?

“直達”函數(shù)

- 應(yīng)用直達

def QQ():
    def open_app(app_dir):
        os.startfile(app_dir)
    if __name__ == "__main__":
        app_dir = r'"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"'
        open_app(app_dir)

只需要替換“app_dir = '鏈接”中的鏈接即可。下面我給大家梳理一下如何獲取本機應(yīng)用的目標位置。

首先左鍵點擊應(yīng)用“屬性”,找到“快捷方式”一欄中的“目標”,將路徑完整粘貼下來即可。

- 網(wǎng)頁直達

def xue_tong():
    webbrowser.open('http://passport2.chaoxing.com/login?fid=&newversion=true&refer=http%3A%2F%2Fi.chaoxing.com')

只需要替換“ webbrowser.open()中的鏈接即可。

“天氣”函數(shù)

“相比于藍天,我更想選擇陽菜”

def show_data():#顯示數(shù)據(jù)
 
    my_heart=['能遇見你真是太好了','不管晴天還是雨天,我只是想和你相遇','我只是想再一次的見到你啊','無論你在哪里,我一定拼盡全力去見你','我從來不知道,渴望藍天的人居然有那么多','100%的晴天女孩?','那年夏天,在那個天空之上的我們'+'\n\n'+'  把這個世界的樣貌,徹底的改變了。','天氣真的是很不可思議,光只是天空的模樣就讓人感動不已。','你找到了我存在的意義,謝謝你;生活不是一帆風順,'+'\n\n'+'總有磨難在前阻擋,我們要學(xué)會堅強努力活在這個世界中,'+'\n\n'+'遇見了你我有了依靠明白了存在的價值,謝謝你的陪伴!','有時天邊有黑云,而且云片很厚,'+'\n\n'+'太陽出來,人眼還看不見,然而太陽在黑云里放射的光芒,'+'\n\n'+'透過黑云的重圍,提黑云鑲了一道發(fā)光的金邊。'+'\n\n'+'后來太陽才慢慢地沖出重圍,出現(xiàn)在天空,'+'\n\n'+'甚至把黑云也染成了紫色或者紅色,'+'\n\n'+'這時候發(fā)光的不僅是太陽,云和海水,連我自己也成了明亮的了。']
    index= random.randint(0,len(my_heart)-1)
 
    size_content = my_heart[index]
    size_str.set(size_content)
 
 
 
 
 
    city_name1 = get_city_name1()
    url1 = 'http://wthrcdn.etouch.cn/weather_mini?city='+urllib.parse.quote(city_name1)
    url2 = 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100'
    #網(wǎng)址1只需要輸入城市名,網(wǎng)址2需要輸入城市代碼
    #print(url1)
    weather_data = urllib.request.urlopen(url1).read()
    #讀取網(wǎng)頁數(shù)據(jù)
    weather_data = gzip.decompress(weather_data).decode('utf-8')
    #解壓網(wǎng)頁數(shù)據(jù)
    weather_dict = json.loads(weather_data)
    #將json數(shù)據(jù)轉(zhuǎn)換為dict數(shù)據(jù)
    if weather_dict.get('desc') == 'invilad-citykey':
        print(messagebox.askokcancel("提示","你輸入的城市名有誤,或者天氣中心未收錄你所在城市"))
    else:
        forecast = weather_dict.get('data').get('forecast')#獲取數(shù)據(jù)塊
        root1=Tk()#副窗口
        root1.iconbitmap('寧寧圖標工具.ico')#指定圖標
        root1.geometry('650x280')#修改窗口大小
        root1.title(city_name1 + '天氣狀況')#副窗口標題
 
        #設(shè)置日期列表
        for i in range(5):#將每一天的數(shù)據(jù)放入列表中
            LANGS = [(forecast[i].get('date'),'日期'),
                        (forecast[i].get('fengxiang'),'風向'),
                        (str(forecast[i].get('fengji')),'風級'),
                        (forecast[i].get('high'),'最高溫'),
                        (forecast[i].get('low'),'最低溫'),
                        (forecast[i].get('type'),'天氣')]
            group = LabelFrame(root1,text = '天氣狀況',padx = 0,pady = 0)#框架
            group.pack(padx=11,pady=0,side = LEFT)#放置框架
            for lang, value in LANGS:#將數(shù)據(jù)放入框架中
                c = Label(group,text = value + ': ' + lang)
                c.pack(anchor = W)
        Label(root1,text = '今日' + weather_dict.get('data').get('ganmao'),
                fg = 'green').place(x=40,y=20,height=40)#溫馨提示
        Label(root1,text = "天氣因你逆轉(zhuǎn),世界因你天晴。",fg = "green",bg = "yellow").place(x=10,y=255,width=160,height=20)
 
        root1.mainloop()

通過random函數(shù)實現(xiàn)隨機文案的選擇

 my_heart=['能遇見你真是太好了','不管晴天還是雨天,我只是想和你相遇','我只是想再一次的見到你啊','無論你在哪里,我一定拼盡全力去見你','我從來不知道,渴望藍天的人居然有那么多','100%的晴天女孩?','那年夏天,在那個天空之上的我們'+'\n\n'+'  把這個世界的樣貌,徹底的改變了。','天氣真的是很不可思議,光只是天空的模樣就讓人感動不已。','你找到了我存在的意義,謝謝你;生活不是一帆風順,'+'\n\n'+'總有磨難在前阻擋,我們要學(xué)會堅強努力活在這個世界中,'+'\n\n'+'遇見了你我有了依靠明白了存在的價值,謝謝你的陪伴!','有時天邊有黑云,而且云片很厚,'+'\n\n'+'太陽出來,人眼還看不見,然而太陽在黑云里放射的光芒,'+'\n\n'+'透過黑云的重圍,提黑云鑲了一道發(fā)光的金邊。'+'\n\n'+'后來太陽才慢慢地沖出重圍,出現(xiàn)在天空,'+'\n\n'+'甚至把黑云也染成了紫色或者紅色,'+'\n\n'+'這時候發(fā)光的不僅是太陽,云和海水,連我自己也成了明亮的了。']
    index= random.randint(0,len(my_heart)-1)
 
    size_content = my_heart[index]
    size_str.set(size_content)

到此這篇關(guān)于Python實戰(zhàn)之設(shè)計一個多功能辦公小工具的文章就介紹到這了,更多相關(guān)Python 設(shè)計辦公工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python實現(xiàn)開心消消樂小游戲的示例代碼

    基于Python實現(xiàn)開心消消樂小游戲的示例代碼

    這篇文章主要是帶著大家自制一款開心消消樂,還原度超高哦~還在等什么動動手就能擁有屬于自己的”消消樂“小游戲呢,趕快學(xué)起來吧
    2022-05-05
  • 淺談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))

    淺談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))

    下面小編就為大家?guī)硪黄獪\談numpy中l(wèi)inspace的用法 (等差數(shù)列創(chuàng)建函數(shù))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • python中pd.Series()函數(shù)的使用

    python中pd.Series()函數(shù)的使用

    本文主要介紹了python中pd.Series()函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-05-05
  • Python通過TensorFLow進行線性模型訓(xùn)練原理與實現(xiàn)方法詳解

    Python通過TensorFLow進行線性模型訓(xùn)練原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Python通過TensorFLow進行線性模型訓(xùn)練原理與實現(xiàn)方法,結(jié)合實例形式詳細分析了Python通過TensorFLow進行線性模型訓(xùn)練相關(guān)概念、算法設(shè)計與訓(xùn)練操作技巧,需要的朋友可以參考下
    2020-01-01
  • python利用print()打印田字格練習題詳解

    python利用print()打印田字格練習題詳解

    print在 Python3.x是一個函數(shù),但在Python2.x版本不是一個函數(shù),只是一個關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于python利用print()打印田字格練習題的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Python全局鎖中如何合理運用多線程(多進程)

    Python全局鎖中如何合理運用多線程(多進程)

    這篇文章主要介紹了Python全局鎖中如何合理運用多線程(多進程),需要的朋友可以參考下
    2019-11-11
  • Jupyter Notebook切換conda虛擬環(huán)境的實現(xiàn)步驟

    Jupyter Notebook切換conda虛擬環(huán)境的實現(xiàn)步驟

    本文主要介紹了Jupyter Notebook切換conda虛擬環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-07-07
  • 一文搞懂Python中subprocess模塊的使用

    一文搞懂Python中subprocess模塊的使用

    subprocess是子流程,即進程的意思,該模塊可以啟動一個新進程,并連接到它們的輸入/輸出/錯誤管道,從而獲取返回值。本文將和大家聊聊subprocess模塊的使用,需要的可以參考一下
    2022-11-11
  • python將日志寫入文件超詳細步驟

    python將日志寫入文件超詳細步驟

    在Python中l(wèi)ogging模塊是一個強大的工具,用于記錄和輸出應(yīng)用程序的日志信息,這篇文章主要給大家介紹了關(guān)于python將日志寫入文件的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 使用Python制作簡單的小程序IP查看器功能

    使用Python制作簡單的小程序IP查看器功能

    這篇文章主要介紹了利用Python制作簡單的小程序IP查看器功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04

最新評論

西平县| 搜索| 丹东市| 内黄县| 陆良县| 绥棱县| 鹤峰县| 琼中| 游戏| 邵阳市| 常德市| 农安县| 黄浦区| 安国市| 双鸭山市| 平泉县| 邯郸县| 安岳县| 沈丘县| 特克斯县| 丹凤县| 五华县| 古交市| 喜德县| 白山市| 定南县| 闸北区| 仙游县| 保山市| 大石桥市| 阳高县| 彰化县| 北流市| 公主岭市| 青神县| 卢龙县| 彭山县| 青阳县| 临清市| 通城县| 静宁县|