python:tkinter 生成 buttonBar 示例

tk_test1.py 程序如下

# -*- coding: utf-8 -*-
import os
import tkinter as tk
from tkinter import filedialog

root = tk.Tk()
root.title("生成 buttonBar 示例 ")
var = tk.StringVar() # 动态字符串
label = tk.Label(root, textvariable=var, font="Song 12")
listbox = tk.Listbox(root, selectmode=tk.SINGLE, font="Song 12")

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()

    def create_buttonbar(self):
        self.button1 = tk.Button(self, text="选文件夹", command=self.opendir)
        self.button1.pack(side="left", padx=5, pady=2)

        self.button2 = tk.Button(self, text="Play", command=self.play)
        self.button2.pack(side="left", padx=5, pady=2)

        self.button3 = tk.Button(self, text="Stop", command=self.stop)
        self.button3.pack(side="left", padx=5, pady=2)

        self.button4 = tk.Button(self, text="Pause", command=self.pause)
        self.button4.pack(side="left", padx=5, pady=2)

        self.button5 = tk.Button(self, text="unpause", command=self.unpause)
        self.button5.pack(side="left", padx=5, pady=2)

        self.button6 = tk.Button(self, text="Quit", fg="red", 
                                       command=self.master.destroy)
        self.button6.pack(side="left", padx=5, pady=2)

    def opendir(self):
        dir1 = filedialog.askdirectory()
        if dir1 == '':
           return 1
        var.set(dir1)
        os.chdir(dir1)
        files = os.listdir(dir1)
        if len(files) > 0:
            listbox.delete(0, tk.END)
            i = 0
            for fname in files:
                listbox.insert(i,fname)
                i += 1

    def play(self):
        var.set(listbox.get(tk.ACTIVE))

    def stop(self):
        print("stop button.")

    def pause(self):
        print("pause button.")

    def unpause(self):
        print("unpause button.")


label.pack(side="top")
app = Application(master=root)
app.create_buttonbar()
app.pack()
listbox.pack(side="bottom", fill='both', padx=5, pady=2)
app.mainloop()

运行 python tk_test1.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值