Python tkinter Button 属性和方法介绍

1. Button

Button提供了用户触发特定功能的途径。Button的属性有:

1.1标准属性

            activebackground, activeforeground, anchor,
            background, bitmap, borderwidth, cursor,
            disabledforeground, font, foreground
            highlightbackground, highlightcolor,
            highlightthickness, image, justify,
            padx, pady, relief, repeatdelay,
            repeatinterval, takefocus, text,
            textvariable, underline, wraplength

1.2 专有属性

            command, compound, default, height,
            overrelief, state, width

以上属性来自于python tkinter的__init__文件。感兴趣的读者可以打开查看。

1.3方法

Button有2种方法:flash和invoke。flash的功能是让按钮文字和背景短暂闪烁。invoke的功能是调用指定按钮的回调函数,相当于按动了指定的按钮。

2. Button属性和方法说明程序

此程序说明了Button的所有属性和方法。可以通过下拉框选择,查看属性或者方法的效果以及如何设置属性。示例如下:
程序界面
代码由两部分组成,第一部分是Tkinter窗口代码,第二部分是Button属性数据

2.1 窗口代码

# coding:utf8

import tkinter as tk
from tkinter.ttk import *
from Button_Parameter import *

cbx_para = None    # 属性下拉框
cbx_method = None  # 方法下拉框
lbl_status = None  # 输出说明性文字
lbl_code = None    #示例代码
lbl_result = None  #结果以及说明
btn_result = None  #示例按钮
frm_code = None    #代码Frame
frm_result = None  #结果Frame
init_para = {
   }     #记录按钮的初始设置
demo_image = None  #a.png图像
v_str = None       #StringVar变量


def GetInitParameter():
    global btn_result
    global init_para
    init_para = {
   }
    for item in Button_Parameter.parameter:
        index = item.split("/")[0]
        init_para[index] = btn_result[index]


def ClearParameter():
    global btn_result
    global init_para
    for item in Button_Parameter.parameter:
        index = item.split("/")[0]
        btn_result[index] = init_para[index]

def btn_command():
    global lbl_result
    lbl_result['text']="回调函数成功调用"
    lbl_result.grid(row=2,column=1)

def flash():
    global btn_result
    btn_result.flash()

def Para_Demo(*args):
    global cbx_para
    global lbl_code
    global lbl_status
    global lbl_result
    global frm_result
    global frm_code
    global demo_image
    global v_str

    index = cbx_para.current()
    lbl_result.grid_forget()
    #
    if index in Button_Parameter.Button_Para:
        ClearParameter()
        frm_code.grid(row=3, column=1, padx=5, pady=5)
        frm_result.grid(row=3, column=2, padx=5, pady=5)

        frm_code["text"] = Button_Parameter.parameter[index] + ":代码"
        frm_result["text"] = Button_Parameter.parameter[index] + ":效果"
        temp = Button_Parameter.Button_Para[index]
        dis_code = ""
        for item in range(1, len(temp[0])):
            dis_code = dis_code + temp[0][item] + "\n"

        lbl_code['text'] = dis_code
        for item in range(1, len(temp[0])):
            exec(temp[0][item])
        lbl_status['text'] = temp[1]
    else:
        frm_code.grid_forget()
        frm_result.grid_forget()

def Method_Demo(*args):
    global cbx_method
    global lbl_code
    global lbl_status
    global lbl_result
    global frm_result
    global frm_code

    index = cbx_method.current()
    lbl_result.grid_forget()
    #
    
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值