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

python圖形界面tkinter的使用技巧

 更新時(shí)間:2022年09月13日 15:14:57   作者:booze-J  
這篇文章主要介紹了python圖形界面tkinter的使用技巧,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

 一、python圖形界面tk之滾動(dòng)文本框的實(shí)現(xiàn)示例

使用python的tkinter庫(kù)實(shí)現(xiàn)滾動(dòng)文本框的方式,目前我知道的有兩種,一種方式是使用frame容器來(lái)放置Text控件Scrollbar控件,再將Text控件和Scrollbar控件聯(lián)動(dòng) ;另一種方式則是直接使用tkinter庫(kù)中的ScrollText控件。

1.方式一

直接使用tkinter庫(kù)中的ScrollText控件實(shí)現(xiàn)滾動(dòng)文本框的功能。

示例代碼:

from ttkbootstrap import Style
import tkinter as tk

def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("562x402")
    window.resizable(width=False,height=False)
    return window

def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S )

def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)

def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署ScrolledText控件
    deploy_scrolledtext(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

注意跑上述代碼的時(shí)候不能少了`from ttkbootstrap import Style`,不然會(huì)報(bào)`AttributeError: module 'tkinter' has no attribute 'scrolledtext'`這個(gè)錯(cuò)。 2.方式二

使用frame容器來(lái)承載Text控件和Scrollbar控件,再將Text控件與Scrollbar控件聯(lián)動(dòng)以實(shí)現(xiàn)滾動(dòng)文本框的功能。

示例代碼:

import tkinter as tk
def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("665x402")
    window.resizable(width=False,height=False)
    return window
def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S )
def deploy_frame(window):
    '''創(chuàng)建一個(gè)frame用來(lái)放置Text和Scrollbar控件并部署到主窗口'''
    frame = tk.Frame(window)
    # 將Text控件添加進(jìn)Frame控件
    text = tk.Text(frame,font=("隸書(shū)",12),fg="black",bg="misty rose",relief='flat')
    text.pack(side=tk.LEFT)

    # 設(shè)置y軸的滾動(dòng)條,并將滾動(dòng)條與text控件聯(lián)動(dòng)
    yscrollbar = tk.Scrollbar(frame)
    yscrollbar.pack(side=tk.RIGHT, fill=tk.Y)
    yscrollbar.config(command=text.yview)
    text.config(yscrollcommand=yscrollbar.set)
    # 將frame部署到主窗口上
    frame.grid(row=1, column=0, columnspan=2, sticky=tk.N + tk.S )
def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
	# 創(chuàng)建一個(gè)frame用來(lái)放置Text和Scrollbar控件并部署到主窗口
    deploy_frame(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

二、python圖形界面tk之控件隨窗口自變化的實(shí)現(xiàn)示例

控件隨窗口自變化的演示代碼是基于python圖形界面tk之滾動(dòng)文本框的實(shí)現(xiàn)方式一代碼實(shí)現(xiàn)的。既在上面的代碼中添加了一個(gè)**auto_adapt()**函數(shù)。

def auto_adapt(window):
    '''設(shè)置控件與窗口自適應(yīng)'''
    window.rowconfigure(0, weight=1) # 定義第0行可以自動(dòng)縮放,縮放比例為100%
    window.rowconfigure(1, weight=1)
    window.columnconfigure(0, weight=1)
    window.columnconfigure(1, weight=1)

rowconfigure中的第一個(gè)參數(shù)為第幾行,第二個(gè)參數(shù)為縮放比例。
columnconfigure中的第一個(gè)參數(shù)為第幾列,第二個(gè)參數(shù)為縮放比例。

代碼實(shí)現(xiàn):

from ttkbootstrap import Style
import tkinter as tk
def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("346x246")
    window.resizable(width=True,height=True)
    return window
def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S)
def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)
def auto_adapt(window):
    '''設(shè)置控件與窗口自適應(yīng)'''
    window.rowconfigure(0, weight=1)
    window.rowconfigure(1, weight=1)
    window.columnconfigure(0, weight=1)
    window.columnconfigure(1, weight=1)
def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 設(shè)置控件與窗口自適應(yīng)
    auto_adapt(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()

if __name__ == '__main__':
    main()

演示效果如下:

三、python圖形界面tk之頂部菜單欄實(shí)現(xiàn)示例

頂部菜單欄的演示代碼是基于python圖形界面tk之滾動(dòng)文本框的實(shí)現(xiàn)方式一代碼實(shí)現(xiàn)的。既在上面的代碼中添加了一個(gè)**deploy_menu()**函數(shù)。

def deploy_menu(window):
    '''部署頂部菜單'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打開(kāi)")
    fmenu.add_command(label="保存")

    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

代碼實(shí)現(xiàn):

from ttkbootstrap import Style
import tkinter as tk
def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("562x402")
    window.resizable(width=False,height=False)
    return window

def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S)
def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_menu(window):
    '''部署頂部菜單'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打開(kāi)")
    fmenu.add_command(label="保存")
    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署頂部菜單欄
    deploy_menu(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

四、python圖形界面tk之多選框?qū)崿F(xiàn)示例

可以參考文章:關(guān)于Python Tkinter 復(fù)選框 ->Checkbutton

頂部菜單欄的演示代碼是基于python圖形界面tk之頂部菜單欄實(shí)現(xiàn)示例代碼實(shí)現(xiàn)的。既在上面的代碼中添加了一個(gè)deploy_check_button()函數(shù),并且修改了整體的行列布局。

def deploy_check_button(window):
    '''部署checkbutton控件'''
    global spider_type,model_type
    spider_type = tk.IntVar() # 默認(rèn)為0
    model_type = tk.IntVar()
    spider_type.set(1)  # 設(shè)置spider_type為選中
    checkbutton1 = tk.Checkbutton(window,text="spider_type",onvalue=1,offvalue=0,variable=spider_type)
    checkbutton1.grid(row=0, column=1)
    checkbutton2 =tk.Checkbutton(window,text="model_type",onvalue=1,offvalue=0,variable=model_type)
    checkbutton2.grid(row=0, column=2)

代碼實(shí)現(xiàn):

from ttkbootstrap import Style
import tkinter as tk

def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("562x402")
    window.resizable(width=True,height=True)
    return window
def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S)


def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_menu(window):
    '''部署頂部菜單'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打開(kāi)")
    fmenu.add_command(label="保存")

    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

def deploy_check_button(window):
    '''部署checkbutton控件'''
    global spider_type,model_type
    spider_type = tk.IntVar()  # IntVar()默認(rèn)初始值為0
    model_type = tk.IntVar()
    spider_type.set(1)  # 設(shè)置spider_type為選中
    checkbutton1 = tk.Checkbutton(window,text="spider_type",onvalue=1,offvalue=0,variable=spider_type)
    # checkbutton1.grid(row=0, column=1, sticky=tk.N + tk.S )
    checkbutton1.grid(row=0, column=1)
    checkbutton2 =tk.Checkbutton(window,text="model_type",onvalue=1,offvalue=0,variable=model_type)
    checkbutton2.grid(row=0, column=2)

def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署頂部菜單欄
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

五、python圖形界面tk之打開(kāi)文件實(shí)現(xiàn)示例

頂部菜單欄的演示代碼是基于python圖形界面tk之多選框?qū)崿F(xiàn)示例代碼實(shí)現(xiàn)的。既在上面的代碼中添加了一個(gè)**open_file()**函數(shù),并將open_file()函數(shù)與頂部菜單的“打開(kāi)”綁定在一起。

def open_file():
    '''打開(kāi)文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes參數(shù) 指定打開(kāi)文件的類(lèi)型
    with askopenfile(mode='r',filetypes=[("文本文件", "*.txt")]) as f:
        path = f.name  # 獲取文件的路徑
        file = open(path,"r",encoding="utf8")
        if file is not None:
            content = file.read()
            print("content",content)

代碼實(shí)現(xiàn):

from tkinter.filedialog import askopenfile
from tkinter import messagebox as msgbox
from ttkbootstrap import Style
import tkinter as tk

def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("562x402")
    window.resizable(width=False,height=False)
    return window
def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=3, sticky=tk.N + tk.S)
def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=4,sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_menu(window):
    '''部署頂部菜單'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打開(kāi)",command=open_file)
    fmenu.add_command(label="保存")

    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

def deploy_check_button(window):
    '''部署checkbutton控件'''
    global spider_type,model_type
    spider_type = tk.IntVar()
    model_type = tk.IntVar()
    spider_type.set(1)  # 設(shè)置spider_type為選中
    checkbutton1 = tk.Checkbutton(window,text="spider_type",onvalue=1,offvalue=0,variable=spider_type)
    # checkbutton1.grid(row=0, column=1, sticky=tk.N + tk.S )
    checkbutton1.grid(row=0, column=1)
    checkbutton2 =tk.Checkbutton(window,text="model_type",onvalue=1,offvalue=0,variable=model_type)
    checkbutton2.grid(row=0, column=2)


def open_file():
    '''打開(kāi)文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes參數(shù)
    with askopenfile(mode='r',filetypes=[("文本文件", "*.txt")]) as f:
        path = f.name  # 獲取文件的路徑
        file = open(path,"r",encoding="utf8")
        if file is not None:
            content = file.read()
            print("content",content)
    def clicked():
        msgbox.showinfo("info", "文件打開(kāi)成功!")
    clicked()

def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署頂部菜單欄
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

六、python圖形界面tk之保存文件實(shí)現(xiàn)示例

頂部菜單欄的演示代碼是基于python圖形界面tk之打開(kāi)文件實(shí)現(xiàn)示例代碼實(shí)現(xiàn)的。既在上面的代碼中添加了一個(gè)save_file() 函數(shù),并將save_file()函數(shù)與頂部菜單的“保存”綁定在一起,save_file()函數(shù)的作用保存scrolledtext中的文本內(nèi)容

def save_file():
    '''保存文件'''
    # 定義保存的初始路徑在當(dāng)前文件夾 定義默認(rèn)保存文件名為temp.txt
    file_path = asksaveasfilename(initialdir=r'.\\',initialfile="temp.txt") 
    print("filepath:",file_path)
    if file_path is not None:
        with open(file=file_path, mode='a+', encoding='utf-8') as file:
            print(scr.get("1.0",'end-1c'))
            file.write(scr.get("1.0",'end-1c'))

代碼實(shí)現(xiàn):

from tkinter.filedialog import asksaveasfilename
from tkinter.filedialog import askopenfile
from tkinter import messagebox as msgbox
from ttkbootstrap import Style
import tkinter as tk

def create_windows():
    '''初始化窗口'''
    window = tk.Tk()
    window.title("Test")
    window.geometry("562x402")
    window.resizable(width=False,height=False)
    return window

def deploy_entry(window):
    '''部署entry控件'''
    global entry
    entry = tk.Entry(window, bd=5, textvariable="請(qǐng)輸入",bg='SteelBlue3', cursor='cross', fg='black',font=('宋體','10','bold'),width=15)
    entry.grid(row=0, column=0, sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_button(window):
    '''部署button控件'''
    button = tk.Button(window,text="點(diǎn)擊",font=('宋體','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=3, sticky=tk.N + tk.S)
def deploy_scrolledtext(window):
    '''部署scrolledtext控件'''
    global scr
    scr = tk.scrolledtext.ScrolledText(window, width=45,font=("隸書(shū)",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   這個(gè)值表示在行的末尾如果有一個(gè)單詞跨行,會(huì)將該單詞放到下一行顯示,比如輸入hello,he在第一行的行尾,llo在第二行的行首, 這時(shí)如果wrap=tk.WORD,則表示會(huì)將 hello 這個(gè)單詞挪到下一行行首顯示, wrap默認(rèn)的值為tk.CHAR
    scr.grid(row=1, column=0,columnspan=4,sticky=tk.N + tk.S + tk.W + tk.E)

def deploy_menu(window):
    '''部署頂部菜單'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打開(kāi)",command=open_file)
    fmenu.add_command(label="保存",command=save_file)
    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

def deploy_check_button(window):
    '''部署checkbutton控件'''
    global spider_type,model_type
    spider_type = tk.IntVar()
    model_type = tk.IntVar()
    spider_type.set(1)  # 設(shè)置spider_type為選中
    checkbutton1 = tk.Checkbutton(window,text="spider_type",onvalue=1,offvalue=0,variable=spider_type)
    # checkbutton1.grid(row=0, column=1, sticky=tk.N + tk.S )
    checkbutton1.grid(row=0, column=1)
    checkbutton2 =tk.Checkbutton(window,text="model_type",onvalue=1,offvalue=0,variable=model_type)
    checkbutton2.grid(row=0, column=2)
def open_file():
    '''打開(kāi)文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes參數(shù)
    with askopenfile(mode='r',filetypes=[("文本文件", "*.txt")]) as f:
        path = f.name  # 獲取文件的路徑
        file = open(path,"r",encoding="utf8")
        if file is not None:
            content = file.read()
            print("content",content)
    def clicked():
        msgbox.showinfo("info", "文件打開(kāi)成功!")
    clicked()

def save_file():
    '''保存文件'''
    # 定義保存的初始路徑在當(dāng)前文件夾 定義默認(rèn)保存文件名為temp.txt
    file_path = asksaveasfilename(initialdir=r'.\\',initialfile="temp.txt")
    print("filepath:",file_path)
    if file_path is not None:
        with open(file=file_path, mode='a+', encoding='utf-8') as file:
            print(scr.get("1.0",'end-1c'))
            file.write(scr.get("1.0",'end-1c'))
def main():
    '''主函數(shù)'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署頂部菜單欄
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 進(jìn)入主循環(huán)
    window.mainloop()

if __name__ == '__main__':
    main()

演示效果如下:

到此這篇關(guān)于python圖形界面tkinter的使用技巧的文章就介紹到這了,更多相關(guān)python tkinter 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Python形參打包與解包小技巧分享

    關(guān)于Python形參打包與解包小技巧分享

    今天小編就為大家分享一篇關(guān)于Python形參打包與解包小技巧分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù)

    python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù)

    這篇文章主要介紹了python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 基于Python編寫(xiě)windows電腦用戶(hù)操作記錄查看器

    基于Python編寫(xiě)windows電腦用戶(hù)操作記錄查看器

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫(xiě)一個(gè)windows電腦用戶(hù)操作記錄查看器,可以讀取系統(tǒng)現(xiàn)有的日志記錄用戶(hù),感興趣的小伙伴可以了解下
    2025-02-02
  • TensorFlow索引與切片的實(shí)現(xiàn)方法

    TensorFlow索引與切片的實(shí)現(xiàn)方法

    這篇文章主要介紹了TensorFlow索引與切片的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python通過(guò)pyperclip庫(kù)操作剪貼板

    Python通過(guò)pyperclip庫(kù)操作剪貼板

    pyperclip是一個(gè)python庫(kù)用于操作剪貼板,可以非常方便地將文本復(fù)制到剪貼板或從剪貼板獲取文本,下面就跟隨小編一起了解一下pyperclip的具體使用吧
    2024-11-11
  • 詳解Python字符串切片

    詳解Python字符串切片

    這篇文章主要介紹了Python字符串切片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python 實(shí)現(xiàn)列表的切片操作允許索引超出范圍

    python 實(shí)現(xiàn)列表的切片操作允許索引超出范圍

    這篇文章主要介紹了python 實(shí)現(xiàn)列表的切片操作允許索引超出范圍,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Anaconda多環(huán)境多版本python配置操作方法

    Anaconda多環(huán)境多版本python配置操作方法

    下面小編就為大家?guī)?lái)一篇Anaconda多環(huán)境多版本python配置操作方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn)

    Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn)

    csrf是通過(guò)偽裝來(lái)自受信任用戶(hù)的請(qǐng)求來(lái)利用受信任的網(wǎng)站。這篇文章主要介紹了Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python-httpx的使用及說(shuō)明

    python-httpx的使用及說(shuō)明

    這篇文章主要介紹了python-httpx的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論

方正县| 乌鲁木齐县| 栾川县| 镇康县| 黄冈市| 南开区| 德保县| 天峻县| 巢湖市| 汪清县| 井冈山市| 黄平县| 双牌县| 临朐县| 潜山县| 红河县| 扶沟县| 平谷区| 普兰县| 安阳市| 独山县| 珲春市| 威海市| 扎鲁特旗| 定日县| 郓城县| 金乡县| 桂林市| 阿合奇县| 祥云县| 石家庄市| 尉氏县| 南京市| 浦江县| 阆中市| 凤冈县| 江孜县| 张家港市| 邛崃市| 广东省| 莒南县|