用Tkinter打造GUI开发工具(18)tix.ButtonBox按钮框小部件

112 篇文章 45 订阅
106 篇文章 119 订阅

用Tkinter打造GUI开发工具(18)tix.ButtonBox按钮框小部件
由于Tix的很多小部件与Tkinter小部件用法类似,我们介绍一些Tix特有的小部件。
tix.ButtonBox小部件创建按钮框,可在按钮框中添加一些按钮,诸如通常用的“Ok”和“ Cancel”等。
按钮框中添加一些按钮,所有按钮的宽度值相同。按钮提示文本、下划线、命令和宽度选项都是tix.Button按钮部件的标准选项。
使用tix.ButtonBox小部件的构造语法如下:

btnbox = tix.ButtonBox (master, orientation=HORIZONTAL)

参数master 这代表了父部件。
参数orientation是这个部件排列按钮的方向,默认水平HORIZONTAL。

tix.ButtonBox部件除了上面的属性外,还有一些方法可以使用。
1)增加按钮。

btnbox .add (name, option=value, ...)

参数name是按钮的名称。
参数option是Tix.Button按钮部件的一些属性参数。例如属性参数text, underline, width, command等等。
2)调用按钮的command回调程序。

btnbox . invoke (name)

参数name是tix.ButtonBox部件添加的按钮名称。
调用名字为name按钮的command回调,并返回该函数返回的内容。类似程序模拟按钮动作。如果按钮被禁用或没有回调,则无效。

tix.ButtonBox不像tk.messagebox中一些小部件那样会返回参数值,只能使用cammand参数写回调函数。不过使用Tix,并不会影响我们使用Tkinter的原始小部件使用。

下面看一个tix.ButtonBox部件演示程序。点[Quit]按钮时,会弹出一个tk.messagebox对话框,再确认一次退出操作。

# -*- coding: utf-8 -*-
# https://blog.csdn.net/hepu8
# 独狼荷蒲 QQ:2775205

import  tkinter  as  tk   #导入Tkinter
from tkinter import messagebox, filedialog, simpledialog, colorchooser
import tkinter.tix as Tix   #导入Tkinter.tix

#移动窗口到屏幕坐标x,y
def setPlace(window,x, y,w=0,h=0):
    if (w==0  or  h==0):
        w = window.winfo_width()   #获取窗口宽度(单位:像素)
        h = window.winfo_height()  #获取窗口高度(单位:像素)
    window.geometry('{}x{}+{}+{}'.format(w, h, x, y))



def RunSample(w):
    top = Tix.Label(w, padx=20, pady=10, bd=1, relief=Tix.RAISED,
		    anchor=Tix.CENTER, text='这个对话框演示tixButtonBox的使用,\n默认orientation=HORIZONTAL')
    box = Tix.ButtonBox(w)
    
    def quit():
        ans=messagebox.askyesno('Tk.messagebox提示', '要程序结束吗?') #确定/取消,返回值True/False
        if ans==True:
            w.destroy()  
    
    box.add('ok', text='OK', underline=0, width=5,
	    command=lambda w=w: w.destroy())
    box.add('quit', text='Quit', underline=0, width=5,
	    command=quit)
    box.pack(side=Tix.BOTTOM, fill=Tix.X)
    top.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1)

def RunSample2(w):
    top = Tix.Label(w, padx=20, pady=10, bd=1, relief=Tix.RAISED,
		    anchor=Tix.CENTER, text='这个对话框演示tixButtonBox的使用,\n使用orientation=VERTICAL')
    box = Tix.ButtonBox(w, orientation=Tix.VERTICAL)
    

    
    box.add('ok', text='确定',  width=5,
	    command=lambda w=w: w.destroy())
    box.add('close', text='取消',  width=5,
	    command=lambda w=w: w.destroy())
    box.pack(side=Tix.BOTTOM, fill=Tix.X)
    top.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1)

if __name__ == '__main__':
    root = Tix.Tk()
    RunSample(root)
    top=Tix.Toplevel(root)
    RunSample2(top)
    root.update()
    
    root.title('Tix.ButtonBox演示')  #Tkinter中设置窗口标题方法
    setPlace(root,100,100)
    top.title('Tix.ButtonBox演示')  #Tkinter中设置窗口标题方法
    setPlace(top,100,300)
    root.mainloop()

程序运行结果如下图。
在这里插入图片描述
如合作请联系.
编写:独狼荷蒲
QQ:2775205
电话微信:18578755056
Python Tkinter 开发群:524949939
博客:https://me.csdn.net/hepu8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荷蒲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值