python图形界面tkinter的使用技巧

目录
  • 一、python图形界面tk之滚动文本框的实现示例
  • 二、python图形界面tk之控件随窗口自变化的实现示例
  • 三、python图形界面tk之顶部菜单栏实现示例
  • 四、python图形界面tk之多选框实现示例
  • 五、python图形界面tk之打开文件实现示例
  • 六、python图形界面tk之保存文件实现示例

一、python图形界面tk之滚动文本框的实现示例

使用python的tkinter库实现滚动文本框的方式,目前我知道的有两种,一种方式是使用frame容器来放置Text控件Scrollbar控件,再将Text控件和Scrollbar控件联动 ;另一种方式则是直接使用tkinter库中的ScrollText控件。

1.方式一

直接使用tkinter库中的ScrollText控件实现滚动文本框的功能。

示例代码:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)

def main():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署ScrolledText控件
    deploy_scrolledtext(window)
    # 进入主循环
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

注意跑上述代码的时候不能少了`from ttkbootstrap import Style`,不然会报`AttributeError: module 'tkinter' has no attribute 'scrolledtext'`这个错。 2.方式二

使用frame容器来承载Text控件和Scrollbar控件,再将Text控件与Scrollbar控件联动以实现滚动文本框的功能。

示例代码:

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="请输入",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="点击",font=('宋体','15','bold'),bg="SteelBlue1",width=13)
    button.grid(row=0, column=1, sticky=tk.N + tk.S )
def deploy_frame(window):
    '''创建一个frame用来放置Text和Scrollbar控件并部署到主窗口'''
    frame = tk.Frame(window)
    # 将Text控件添加进Frame控件
    text = tk.Text(frame,font=("隶书",12),fg="black",bg="misty rose",relief='flat')
    text.pack(side=tk.LEFT)

    # 设置y轴的滚动条,并将滚动条与text控件联动
    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():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
	# 创建一个frame用来放置Text和Scrollbar控件并部署到主窗口
    deploy_frame(window)
    # 进入主循环
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

二、python图形界面tk之控件随窗口自变化的实现示例

控件随窗口自变化的演示代码是基于python图形界面tk之滚动文本框的实现方式一代码实现的。既在上面的代码中添加了一个**auto_adapt()**函数。

def auto_adapt(window):
    '''设置控件与窗口自适应'''
    window.rowconfigure(0, weight=1) # 定义第0行可以自动缩放,缩放比例为100%
    window.rowconfigure(1, weight=1)
    window.columnconfigure(0, weight=1)
    window.columnconfigure(1, weight=1)

rowconfigure中的第一个参数为第几行,第二个参数为缩放比例。
columnconfigure中的第一个参数为第几列,第二个参数为缩放比例。

代码实现:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为tk.CHAR
    scr.grid(row=1, column=0,columnspan=2,sticky=tk.N + tk.S + tk.W + tk.E)
def auto_adapt(window):
    '''设置控件与窗口自适应'''
    window.rowconfigure(0, weight=1)
    window.rowconfigure(1, weight=1)
    window.columnconfigure(0, weight=1)
    window.columnconfigure(1, weight=1)
def main():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 设置控件与窗口自适应
    auto_adapt(window)
    # 进入主循环
    window.mainloop()

if __name__ == '__main__':
    main()

演示效果如下:

三、python图形界面tk之顶部菜单栏实现示例

顶部菜单栏的演示代码是基于python图形界面tk之滚动文本框的实现方式一代码实现的。既在上面的代码中添加了一个**deploy_menu()**函数。

def deploy_menu(window):
    '''部署顶部菜单'''
    menu = tk.Menu(window)

    fmenu = tk.Menu(menu)
    fmenu.add_command(label="打开")
    fmenu.add_command(label="保存")

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

代码实现:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为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="打开")
    fmenu.add_command(label="保存")
    menu.add_cascade(label="文件",menu=fmenu)
    window.config(menu=menu)

def main():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署顶部菜单栏
    deploy_menu(window)
    # 进入主循环
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

四、python图形界面tk之多选框实现示例

可以参考文章:关于Python Tkinter 复选框 ->Checkbutton

顶部菜单栏的演示代码是基于python图形界面tk之顶部菜单栏实现示例代码实现的。既在上面的代码中添加了一个deploy_check_button()函数,并且修改了整体的行列布局

def deploy_check_button(window):
    '''部署checkbutton控件'''
    global spider_type,model_type
    spider_type = tk.IntVar() # 默认为0
    model_type = tk.IntVar()
    spider_type.set(1)  # 设置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)

代码实现:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为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="打开")
    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()默认初始值为0
    model_type = tk.IntVar()
    spider_type.set(1)  # 设置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():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署顶部菜单栏
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 进入主循环
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

五、python图形界面tk之打开文件实现示例

顶部菜单栏的演示代码是基于python图形界面tk之多选框实现示例代码实现的。既在上面的代码中添加了一个**open_file()**函数,并将open_file()函数与顶部菜单的“打开”绑定在一起。

def open_file():
    '''打开文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes参数 指定打开文件的类型
    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)

代码实现:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为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="打开",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)  # 设置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():
    '''打开文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes参数
    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", "文件打开成功!")
    clicked()

def main():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署顶部菜单栏
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 进入主循环
    window.mainloop()
if __name__ == '__main__':
    main()

演示效果如下:

六、python图形界面tk之保存文件实现示例

顶部菜单栏的演示代码是基于python图形界面tk之打开文件实现示例代码实现的。既在上面的代码中添加了一个save_file() 函数,并将save_file()函数与顶部菜单的“保存”绑定在一起,save_file()函数的作用保存scrolledtext中的文本内容

def save_file():
    '''保存文件'''
    # 定义保存的初始路径在当前文件夹 定义默认保存文件名为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'))

代码实现:

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="请输入",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="点击",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=("隶书",18),height=15,
                                    wrap=tk.WORD,bg="misty rose")  # wrap=tk.WORD   这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为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="打开",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)  # 设置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():
    '''打开文件'''
    # file = askopenfile(mode='r',filetypes=[('Txt Files', '*.txt')])
    # 注意需要指定filetypes参数
    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", "文件打开成功!")
    clicked()

def save_file():
    '''保存文件'''
    # 定义保存的初始路径在当前文件夹 定义默认保存文件名为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():
    '''主函数'''
    # 初始化窗口
    window = create_windows()
    # 部署entry控件
    deploy_entry(window)
    # 部署button控件
    deploy_button(window)
    # 部署scrolledtext控件
    deploy_scrolledtext(window)
    # 部署顶部菜单栏
    deploy_menu(window)
    # 部署checkbutton控件
    deploy_check_button(window)
    # 进入主循环
    window.mainloop()

if __name__ == '__main__':
    main()

演示效果如下:

到此这篇关于python图形界面tkinter的使用技巧的文章就介绍到这了,更多相关python tkinter 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python+Tkinter制作股票数据抓取小程序

    目录 程序布局 抓取与保存功能 添加功能 个股查询按钮 批量查询开关 在前面的文章中,我们一起学习了如何通过 Python 抓取东方财富网的实时股票数据,链接如下 用 Python 爬取股票实时数据 今天我们就在这个基础上,实现一个 Tkinter GUI 程序,完成无代码股票抓取! 首先对于 Tkinter 相信大家都是比较了解的,如果有小伙伴对于 Tkinter 的相关用法不是特别熟悉的话,可以看如下文章 Tkinter 入门之旅 首先我们先看一下 GUI 程序的最终效果 该程序共分三个区域

  • Python tkinter实现桌面软件流程详解

    目录 前言 环境使用 模块使用 界面代码 功能代码 前言 tkinter:GUI桌面应用开发模块,写软件界面你还可以打包成exe软件, 哪怕你没有python环境, 一样可以用虽然不一定要有界面, 但是有界面, 用户体验很棒… 环境使用 Python 3.8 Pycharm 模块使用 import tkinter import webbrowser 最终实现的效果 界面代码 创建窗口 root = tk.Tk() # 设置标题 root.title('我是标题') # 设置窗体大小 root.g

  • Python+Tkinter实现股票K线图的绘制

    目录 子窗口 子窗口框架 绘制K线图 在前面的文章中,我们一起学习了如何通过 Python 抓取东方财富网的实时股票数据以及如何制作成 Tkinter GUI 程序,链接如下 用 Python 爬取股票实时数据 Tkinter制作股票数据抓取小程序,有点秀! 今天我们就在这个基础上,在 Tkinter 程序中绘制 K 线图,一起来看看吧 子窗口 我们今天的整体代码还是基于上次的 Tkinter 股票程序,在主类 MainCreator 下面创建一个函数 create_subwindow     

  • Python+tkinter制作经典登录界面和点击事件

    目录 前言 环境使用 模块使用 代码部分 导入模块 先做一个大小合适的窗口 账号密码输入框 点击按钮 点击事件绑定 最后效果 前言 Tkinter(即 tk interface) 是 Python 标准 GUI 库,简称 “Tk”:从本质上来说,它是对 TCL/TK 工具包的一种 Python 接口封装.Tkinter 是 Python 自带的标准库,因此无须另行安装,它支持跨平台运行,不仅可以在 Windows 平台上运行,还支持在 Linux 和 Mac 平台上运行. Tkinter 编写的

  • Python+tkinter实现音乐下载软件的制作

    目录 前言 效果展示 代码部分 前言 平常我们下载的歌曲,都是各种妖魔鬼怪的格式横行,想下载下来用一下都不行,还只能在它的播放器内听,这谁受得了~ 学Python是用来干嘛的? 当然是解决问题咯~ 于是我直接写了一手音乐下载软件,强制全部保存mp3,这样就没有限制了~ 什么?还要马内?不存在的,别慌,保证全部都能下载! 效果展示 这是我们今天要写的软件界面 然后我们选一首歌 高跟鞋看起来要马内,就它了~ 好有道理,我竟然无言以对~ 跑题了… 输入音乐ID 点击下载 看看下载好了 我们可以把这个文

  • python图形界面tkinter的使用技巧

    目录 一.python图形界面tk之滚动文本框的实现示例 二.python图形界面tk之控件随窗口自变化的实现示例 三.python图形界面tk之顶部菜单栏实现示例 四.python图形界面tk之多选框实现示例 五.python图形界面tk之打开文件实现示例 六.python图形界面tk之保存文件实现示例 一.python图形界面tk之滚动文本框的实现示例 使用python的tkinter库实现滚动文本框的方式,目前我知道的有两种,一种方式是使用frame容器来放置Text控件和Scrollba

  • 如何Tkinter模块编写Python图形界面

    一.为何使用Tkinter而非PyQt 众所周知,在Python中创建图形界面程序有很多种的选择,其中PyQt和wxPython都是很热门的模块包,这些第三方的图形界面模块功能强大.配置丰富,界面美观,是很多人的选择. 州的先生也经常使用PyQt5来为Python程序写上图形界面,以方便程序的使用. 而今天,我们要介绍的是Python内置的一个图形界面模块--tkinter. 在网络上有很多抱怨Tkinter模块的言论,比如:界面丑.不灵活.扩展功能差.模块少--等等,诚然,Tkinter确实有

  • 实现Python图形界面框架TkInter写GUI界面应用简介过程操作

    前言 它的底层是Tcl/Tk,先用起来再说,另外Python毕竟是面向对象语言,所以全文会使用到class和对象,尽量日后能满足开发项目的需求. (备注:Tcl/Tk 是一种简明,高效,可移植性好的编程语言.在信息产业领域具有广泛的应用.) Hello World 从Hello World写起,涉及到一个简单的文本控件Label,当然控件需要显示的容器,此处我们将其显示在一个Window上,也会使用一种布局方式pack() import tkinter as tk class RootWindo

  • Python 图形界面框架TkInter之在源码中找pack方法

    目录 一.HelloWorld看pack() 二.pack()方法分析 三.pack_configure()方法分析 四.Label的继承结构 五.查看pack()方法源码的收获 前言: tkinter提供了3种布局管理方式: 1.pack 2.grid 3.place 每种布局管理器都非常有用,根据不同的需求,选择对应的布局方式,每个控件都可以使用pack作为布局管理器,从源码中看下pack()在哪里? 一.HelloWorld看pack() import tkinter   my_windo

  • 解决Python图形界面中设置尺寸的问题

    Python有自己内置的标准GUI库--Tkinter,只要安装好Python就可以调用. 今天学习到了图形界面设计的问题,刚开始就卡住了.为啥呢?就是用geometry(size)设置窗口尺寸大小,如800X600,"X"从哪里来成了问题. 首先想到,这是个乘号,但是在程序中没有插入特殊符号这一说啊.所以,插入特殊符号的方法肯定不行了. 然后我心血来潮,从word的公式里复制了一个乘号过来(我也是服了我自己了),运行程序,可想而知,报错没商量. 看来求助外面是没用了.必须在Pytho

  • 一个非常简单好用的Python图形界面库(PysimpleGUI)

    前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个 Python 领域非常简单好用的图形界面库. 说起图形界面库,你可能会想到 TkInter.PyQt.PyGUI 等流行的图形界面库,我也曾经尝试使用,一个很直观的感受就是,这太难用了.就去网上搜搜,看看有没有一些 demo,拿来改改,结果很少有,当时我就放弃了这些图形库的学习,转而使用了 vue+flask 的形式以浏览器网页作为程序界面,因为我会这个,即使实现起来稍微麻烦,但是也快. 那有朋友可能问了:一定要学习图形界面吗? 其实不

  • python图形界面开发之wxPython树控件使用方法详解

    wxPython树控件介绍 树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控件类是wx.TreeCtrl. wx.TreeCtrl常用的方法有 AddRoot(text, image=-1, selImage=-1, data=None).添加根节点,text参数根节点显示的文本:image参数是该节点未被选中时的图片索引,wx.TreeCtrl中使用的图片被放到wx.ImageList图像列表中:selImage参数是该节点被选

  • python图形用户界面tkinter之标签Label的使用说明

    目录 图形用户界面tkinter之标签Label使用 导入tkinter模块 构建窗口对象 窗口属性设置 标签label 使用tkinter解决的一些小问题 Label的weight参数 图形用户界面tkinter之标签Label使用 导入tkinter模块 from tkinter import * 构建窗口对象 root = Tk() 窗口属性设置 #窗口标题 root.title('窗口标题') #窗口大小 root.geometry('200x300') #设定窗口背景颜色 root.c

  • 用PyQt进行Python图形界面的程序的开发的入门指引

    一般来说,选择用于应用程序的 GUI 工具箱会是一件棘手的事.使用 Python(许多语言也一样)的程序员可以选择的 GUI 工具箱种类繁多,而每个工具箱都有各自的优缺点.有些速度比其它工具箱快,有些比较小:有些易于安装,有些更适合于跨平台使用(对于这一点,还要指出,有些支持您需要满足的特定特性).当然,各种库都相应具有各种许可证. 对于 Python 程序员而言,缺省的 GUI 选择是 Tk(通过 Tkinter 绑定)- 其原因显而易见.Tkinter 和闲置的 IDE 是由 Python

  • python图形用户界面tkinter之按钮Button的使用说明

    目录 python tkinter按钮Button的使用 创建和设置窗口 按钮Button属性1 按钮Button属性2 修改Button属性 python tkinter的Button组件 Tkinter的布局方式有三种 python tkinter按钮Button的使用 创建和设置窗口 from tkinter import * #创建窗口对象 root = Tk() #窗口属性设置 root.title ('窗口标题') root.geometry('300x400') root.conf

随机推荐