button_button 属性 - CSDN
精华内容
参与话题
  • button按钮样式

    万次阅读 2018-03-08 09:50:40
    在许多网站中都需要实用到按钮,一个好看实用的css按钮即可以给访问者以美感,又可以方便开发者。下面就是一个纯css按钮,需要的可以参考。css代码.div { display: inline-block; padding: .3em .5em;...

    在许多网站中都需要实用到按钮,一个好看实用的css按钮即可以给访问者以美感,又可以方便开发者。下面就是一个纯css按钮,需要的可以参考。

    css代码

    复制代码
    .div {
        display: inline-block;
        padding: .3em .5em;
        background-image: linear-gradient(#ddd, #bbb);
        border: 1px solid rgba(0,0,0,.2);
        border-radius: .3em;
        box-shadow: 0 1px white inset;
        text-align: center;
        text-shadow: 0 1px 1px black;
        color:white;
        font-weight: bold;
    }
    .div:active{
        box-shadow: .05em .1em .2em rgba(0,0,0,.6) inset;
        border-color: rgba(0,0,0,.3);
        background: #bbb;
    }
    复制代码

    html代码

    <div class="div">Button</div>

    其他几种按钮

    背景颜色

    background-image: linear-gradient(#f5c153, #ea920d);

    背景颜色

     background-image: linear-gradient(#8eb349, #5f7c22);

    背景颜色

    background-image: linear-gradient(#fbb2d0, #e779aa);
    展开全文
  • Button简介

    千次阅读 2018-08-20 14:03:41
    Button是如何工作的 Button的类型 普通按钮 粘性按钮 单选按钮及复选框 普通按钮的使用 使用复选框 标准复选框 图标复选框 单选按钮 标准单选按钮 图标单选按钮 Button是一个用户界面对象,在单击时向...

    Button是一个用户界面对象,在单击时向目标发送操作消息。

    本文介绍Cocoa提供的各种按钮的不同之处以及如何使用它们。

    Button是如何工作的

    Button遵循target-action设计模式,它是一个用户界面对象,在单击时向目标发送操作消息。关于此设计模式的更多信息,请查看 Concepts in Objective-C Programming中的Target-Action

    大多数按钮的工作是由NSButtonCell处理的,一旦NSButtonCell的视图被点击并捕获到鼠标按下的事件后,NSButtonCell的实例发送它的动作消息给目标对象,但是只要鼠标光标在Button cell内部并保持按下状态也可以持续发送动作消息。Button cell的按压状态可以通过多种高亮方式显示。比如,有边框的按钮单元格可以出现在屏幕上,或者在按下按钮单元格时,图像或标题可以更改为另一种形式。

    NSButtonCell对象必须使用NSControl子类的实例,如果你需要一个按钮,如push按钮,使用包含单个NSButtonCell实例的NSButton对象;如果需要一组相关的按钮,例如一组开关或radio按钮,则使用包含几个NSButtonCell实例的NSMatrix对象。

    NSButtonNSMatrix都提供了一个控制视图,然而,虽然NSMatrix要求您直接访问NSButtonCell对象,但是NSButton的大多数方法对于NSButtonCell中相同声明的方法是“隐藏”的,(也就是说,NSButton方法的执行会自动为你调用相应的NSButtonCell方法,无需关心NSButtonCell的存在。)唯一没有覆盖的NSButtonCell方法与用于显示快捷键的字体以及高亮或显示NSButton状态的特定方法有关(最后这些通常与NSButtonsetButtonType:方法一起设置)。

    Button的类型

    Button的类型决定了它的行为,当按压时如何高亮显示以及是否显示其状态,button的类型可以归纳为三类:

    • 普通按钮
    • 粘性按钮
    • 单选按钮及复选框

    通过setButtonType设置按钮类型。

    普通按钮

    这些按钮主要用于触发动作,因为他们不显示自己的状态。这类按钮在鼠标按下时改变他们的显示并且在鼠标抬起时返回他们原始的状态。

    • 要让NSButton控制按钮被按下的外观,使用NSMomentaryPushInButton(在Xib的按钮inspector中称为“Mementary Push”),当鼠标按下按钮时,按钮似乎是按进去的。

      这里有一个NSMomentaryPushInButton按钮的例子,带有NSRoundedBezelStyle风格的边框,在正常和按下时的外观:

      这是一个带有NSThickerSquareBezelStyle样式的NSMomentaryPushInButton按钮的例子。边框样式NSRegularSquareBezelStyleNSThickSquareBezelStyle类似。

    • 为了自己控制按钮的外观,使用NSMomentaryChangeButton(在Xib中称为“Momentary Change”)。当鼠标按钮按下时,它将显示为替换图片和标题,当鼠标释放后,它将显示为正常的图片和标题。如果没有设置替换图片或者按钮标题,它的外观不会有任何变换。

    粘性按钮

    此类按钮显示他们的状态,并且在按下后似乎会粘住。点击一次后,它将会保持按下状态直到下一次点击。

    • 要让NSButton控制按钮被按下的外观,使用NSPushOnPushOffButton(xib中称为“Push On/Push Off”)。按钮被按下后,按钮似乎是按进去的,再次点击后按钮弹起。弹出的外观用于关闭状态(NSOffState),而压入的外观用于打开状态和混合状态(NSOnStateNSMixedState)。这对于显示应用程序中某些内容的状态的按钮(例如,显示所选文本是否为黑体的按钮)非常有用。
    • 要控制按下按钮的外观,请使用NSToggleButton(在Interface Builder的按钮检查器中称为“切换”)。单击一次后,按钮会显示它的替代图像和标题。再次单击后,按钮会显示其正常的图像和标题。如果没有替代的图像或标题,按钮的外观不会改变。正常的图像和标题表示off状态(NSOffState),备用的图像和标题表示on状态和混合状态(NSOnState和NSMixedState)。这对于在两个动作(例如,停止和开始)之间切换的按钮非常有用。

    如果想要一个按钮显示所有三种状态的不同外观,必须自定义NSButton。

    单选按钮及复选框

    这些按钮显示应用程序中的状态,它们是NSToggleButton的特殊版本,具有系统定义的图片。

    • 要在两个选项中进行选择,请使用 NSSwitchButton按钮,它看起来像一个复选框。这种类型的按钮可以在Interface Builder中作为单独的选项板使用。
    • 要在两个以上的选项中进行选择,请使用NSRadioButton按钮矩阵。矩阵和单选按钮一起工作,以确保每次只打开一个按钮。这种类型的按钮可以在Interface Builder中作为单独的选项板项使用。
      这里写图片描述
      更改这些按钮使用的图像可能会导致不可预测的结果,如果想要一个具有定制外观的开关按钮或单选按钮,可以定制一个切换按钮或自定义NSButton

    虽然复选框和单选按钮可以显示所有三种状态的不同图像,但其他类型的按钮却不能。

    普通按钮的使用

    普通按钮执行按钮名所描述的动作,通常,它是一个圆角矩形,里面包含了它的名字。例如,这个按钮可能出现在一个对话框中,该对话框可以找到文档中的文本。
    这里写图片描述
    Interface Builder中创建按钮是最简单的。您还可以通过编程方式创建一个NSButton实例,其类型为NSMomentaryPushInButtonNSNoImage的图像位置和NSRoundedBezelStyle的边框。

    此类按钮也可以是一个图标按钮,也就是说,这个按钮主要由其图标识别,很少或没有文本。它是长方形的,像这样:
    这里写图片描述
    您可以使用Interface Builder或代码方式创建图标按钮。如果使用的是Interface Builder,从一个普通的按钮开始。如果您以代码方式创建它,那么创建一个NSButton实例,然后将其类型设置为NSMomentaryPushInButton,其图像位置设置为NSImageOnly,其边框类型设置为正方形边框类型。最后,设置图像为您想要的。

    注意:文本按钮上可以有一个小图像,图标按钮可以有一个标签。最重要的问题是什么最突出。如果是文本,将其视为文本按钮。如果是图像,将其视为图标按钮。

    您还可以有一个在两个状态之间切换的按钮,每个状态都有自己的标题和图像。例如,一个按钮可以在开始和停止之间切换。您可以和使用Interface Builder或代码创建普通按钮相同的方式创建一个按钮,只需将按钮类型更改为NSToggleButton。然后给按钮一个可选标题和图像以及一个常规标题和图像。该按钮首先显示常规标题和图像,然后在用户单击后显示替换的标题和图像。

    使用复选框

    一个复选框展示应用中的设置,复选框的另一个名字叫开关按钮,用一行文本标识一个复选框。

    使用NSButton的state属性去设置一个复选框的状态。可能的状态为NSOnState、NSOffState和NSMixedState。如果按钮是关闭的,则框是空的,反之,该框里面有个对号;如果按钮是混合状态,则框里有一个破折号。

    标准复选框

    Interface Builder是创建复选框最简单的方式。你也可以使用代码创建,继承自NSButton,其类型定义为NSSwitchButton

    不同于一组单选按钮,复选框中可以选择多个选项。这组按钮显示所有选中的字符都是粗体,没有斜体,还有一些是下划线:
    这里写图片描述

    图标复选框

    你也可以有一个复选框,它是一个图标按钮;也就是说,这是一个主要由其图标识别,很少或没有文本,如果按钮是关闭的,它似乎是突出的;如果按钮是开着的,它似乎是按进去的。(图片按钮不能显示混合状态。)

    您可以在Interface Builder或代码中创建图片复选框,如果您使用的是Interface Builder,在普通按钮的基础上设置;如果以代码方式创建,则需要创建NSButton的实例。然后通过将其类型设置为NSPushOnPushOffButton、图像位置设置为NSImageOnly、边框类型设置为正方形类型来更改它,然后设置图像为你想要的即可。

    单选按钮

    单选按钮显示应用程序中某些内容的设置,并且是一个组的一部分,其中一次只能有一个按钮是开启的,使用一组单选按钮在几个相互排斥的选项中进行选择。

    标准单选按钮

    标准的单选按钮是一个小圆圈,后面跟着一行文本。如果按钮关闭,圆圈是空的;如果按钮是打开的,圆圈被填充;如果按钮是混合状态,圆圈有一个破折号。
    例如,这组按钮显示所有选中的对象都是绿色的:
    这里写图片描述
    这个组显示部分选中的对象是红色的,部分是绿色的:
    这里写图片描述
    一组单选按钮由一个NSMatrix对象实现,该对象包含几个NSButtonCell实例,并具有NSRadioModeMatrix的跟踪模式。每当单击矩阵的某个按钮时,矩阵就会关闭先前选择的按钮并打开新单击的按钮。
    Interface Builder中创建一组开关按钮是最容易的。您还可以通过代码的方式创建一个NSMatrix对象并初始化它(在调用initWithFrame:mode:prototype:numberOfRows:numberOfColumns:),使用原型单元格和NSRadioModeMatrix的跟踪模式。对于原型对象,使用NSRadioButton类型创建一个NSButtonCell对象。清单1说明了如何进行此操作。
    清单1:通过代码创建单选按钮集

    - (void)awakeFromNib {
    
        NSButtonCell *prototype = [[NSButtonCell alloc] init];
        [prototype setTitle:@"Watermelons"];
        [prototype setButtonType:NSRadioButton];
        NSRect matrixRect = NSMakeRect(20.0, 20.0, 125.0, 125.0);
        NSMatrix *myMatrix = [[NSMatrix alloc] initWithFrame:matrixRect
                                                        mode:NSRadioModeMatrix
                                                   prototype:(NSCell *)prototype
                                                numberOfRows:3
                                             numberOfColumns:1];
        [[[self window] contentView] addSubview:myMatrix];
    
        NSArray *cellArray = [myMatrix cells];
        [[cellArray objectAtIndex:0] setTitle:@"Apples"];
        [[cellArray objectAtIndex:1] setTitle:@"Oranges"];
        [[cellArray objectAtIndex:2] setTitle:@"Pears"];
    }

    图标单选按钮

    单选按钮也可以是一个图标按钮;也就是说,这是一个主要由其图标识别,很少或没有文本。如果按钮是关闭状态的,那么它似乎是卡在里面的;如果按钮是开着的,它似乎是按进去的。(图标按钮不能显示混合状态。)
    您可以在Interface Builder或代码方式中创建一组图标单选按钮。如果您使用的是Interface Builder请从一个普通按钮开始;如果以代码方式创建,则创建一个按钮矩阵。然后将矩阵的跟踪模式改为NSRadioModeMatrix。将按钮的类型更改为NSPushOnPushOffButton,它们的图像位置更改为NSImageOnly,它们的边框类型更改为正方形边框类型。最后设置他们的图片为你想要的。

    查询按钮矩阵

    一组单选按钮或复选框以编程方式是一个NSMatrix对象,其组成对象是NSButtonCell对象。矩阵对象是一种特殊的控件。每个单元格都可以指定自己的目标对象和操作选择器。另外,NSMatrix可能有自己的目标和操作选择器。(有关矩阵对象的目标操作的更多信息,请参阅矩阵编程指南。)
    要找到用户选择的单选按钮或复选框(在用户单击时),可以为矩阵中的每个单元格指定目标和不同的操作选择器,然后实现相应的操作方法。然而,在单选按钮或复选框矩阵中查询当前选择的更有效的方法是为NSMatrix对象本身实现目标操作,并且在操作方法中确定现在选择了哪个单元(或单元)。这个的NSMatrix方法是selectedCellselectedCells
    清单1展示了一个action方法的实现,该方法响应单选按钮矩阵中的选择。
    清单1 查询所选的radio-button单元格的矩阵对象

     - (IBAction)findSelectedButton:(id)sender { // sender是一个矩阵对象
        NSButtonCell *selCell = [sender selectedCell];
        NSLog(@"Selected cell is %d", [selCell tag]);
    }

    这个代码片段说明了在处理矩阵中的单元格选择时可以应用的另一种技术。可以为矩阵中的每个单元格分配数字标记来识别它,然后在处理选择时查询这些标记值。

    设置按钮边框的外观

    可以通过改变按钮的形状和阴影来控制它的边框。注意,如果isborder返回NO,则边界不会出现。使用setborder:改变它的值。
    要更改边框的形状,请使用setBezelStyle:改变按钮的边框类型。有两大类边框类型。

    • 如果您的按钮主要通过文本标识,那么使用NSRoundedBezelStyle。它为文本按钮使用适当的边框样式,它是一个圆角矩形,如下所示:
      这里写图片描述
    • 如果您的按钮主要由图标标识,那么使用NSRegularSquareBezelStyle, NSThickSquareBezelStyleNSThickerSquareBezelStyle。这些类型使用带有边框的矩形按钮。小样式具有2像素的边框;中等样式有3像素的边框;大样式有4像素的边框。三种类型如下所示:
      这里写图片描述

    设置按钮标题

    一个按钮可以有两个与之相关的标题:普通标题和交替标题。如果按钮类型是NSMomentaryPushInButtonNSPushOnPushOff按钮、NSMomentaryLightButtonNSOnOffButton,则只显示正常的标题。如果按钮类型是NSMomentaryChangeButtonNSToggleButton,则当按钮的状态为off (NSOffState)时将显示正常标题,当按钮的状态为onmixed (NSOnState)时将显示备用标题。或NSMixedState)。如果你想要一个按钮显示所有三种状态的不同标题,你必须子类化NSButton
    如果希望标题包含纯文本,请使用setTitle:设置普通标题和setAlternateTitle:设置备用标题。如果希望标题包含样式文本(例如,斜体或粗体),请使用setAttributedTitle:setAttributedAlternateTitle:
    要设置标题相对于按钮图像的定位方式,使用setImagePosition:,在设置按钮图像中描述。如果没有图片,标题将在按钮内水平和垂直居中。如果标题位于图像的上方、下方或重叠部分,则标题将在按钮内水平居中。要隐藏标题,使用setImagePosition:带有NSImageOnly的参数。
    要设置标题的字体,发送setFont:到按钮的按钮单元格。
    如果想让按钮在鼠标移动到标签上时显示其标题,需要使用Tool Tips

    设置按钮图标

    一个按钮可以有两个与之相关联的图像:普通图像和交替图像。如果按钮类型是NSMomentaryPushInButtonNSPushOnPushOff按钮、NSMomentaryLightButtonNSOnOffButton,则只显示正常的图像。如果按钮类型为NSMomentaryChangeButtonNSToggleButton,则正常图像在按钮状态为off时显示(NSOffState),而备用图像在按钮状态为onmixed (NSOnState)时显示。或NSMixedState)。如果你想要一个按钮显示所有三种状态的不同图像,你必须子类化NSButton。(尽管开关按钮和单选按钮可以显示所有三种状态的不同图像,但这个功能没有公共接口。)
    要设置正常的图像,使用setImage:。要设置备用映像,使用setAlternateImage:

    注意:如果按钮是复选框或单选按钮,不要改变其图像。这些按钮的图像是系统定义的,更改它们可能导致不可预知的结果。如果您想要一个具有定制外观的开关按钮或单选按钮,可以定制一个切换按钮(类型为NSToggleButton的按钮)或NSButton子类。
    要为按钮的图像设置位置,使用setImagePosition:,下面的值之一。默认是NSNoImage

    NSNoImage这里写图片描述 NSImageOnly这里写图片描述 NSImageOverlaps这里写图片描述
    NSImageLeft这里写图片描述 NSImageRight这里写图片描述
    NSImageBelow这里写图片描述 NSImageAbove这里写图片描述

    隐藏按钮

    有两种方法可以从视图中隐藏按钮:它可以是完全透明的,也可以只在鼠标经过它时才显示它的边框。

    • 要使按钮透明,使用setTransparent:。一个透明的按钮跟踪鼠标并发送它的动作,但不绘制自己。这对于将屏幕上的区域敏感化非常有用,这样当该区域收到鼠标单击时,操作就会发送到目标。
    • 要让一个按钮显示其边框,只有当它处于活动状态并且鼠标在它上面时,才可以使用setshowsborderonly目地:。其余的按钮的组件总是绘制。下面是一些按钮的例子,这些按钮只在鼠标移动到它们上面时才显示它们的边框:
      这里写图片描述

    设置按钮为默认样式

    如果按钮具有NSRoundedBezelStyle 边框类型,您可以将其标记为默认按钮。默认按钮是选中样式的,当用户按下Return时调用其操作消息。它看起来像这样:
    这里写图片描述
    若要将按钮标记为默认值,用 setKeyEquivalent:方法将其快捷键设置为Return

    [myButton setKeyEquivalent:@"\r"];

    可以在Interface Builder中设置快捷键,默认按钮有一个在它周围绘制的粗轮廓,在按钮的边界之外,界面设计应该考虑到额外的空间。

    设置按钮快捷键

    一个按钮可以有一个等效的键,这样当用户按下那个键时,按钮就会响应,就好像它已经被点击过一样。
    注意,如果将按钮的快捷键设置为Return,该按钮将成为默认按钮。
    通常在Interface Builder中设置一个按钮的快捷键。为此,选择按钮并打开检查器的attributes窗格。显示按钮的属性,单击键Equiv字段,并键入要与按钮相关联的键或键组合。(按“清除”键可以删除等效键。)

    要在程序中设置快捷键,可以使用setKeyEquivalent:并传入相应的字符即可。例如,设置Return为该按钮的快捷键:

    [myButton setKeyEquivalent:@"\r"];

    要将按钮的键值设置为非打印字符,可以使用NSResponder定义的键常量,如下例所示,它将按钮的键值设置为左箭头键。

    unichar arrowKey = NSLeftArrowFunctionKey;
    [button setKeyEquivalent:[NSString stringWithCharacters:&arrowKey length:1]];

    子类化NSButton

    如果创建了一个NSButton的子类来执行它自己的初始化,覆盖指定的初始化器(NSViewinitWithFrame:方法)。如果想在NSButton的子类中使用自定义NSButtonCell子类,必须重写cellClass:方法。

    展开全文
  • Button 4种点击事件

    千次阅读 2017-03-28 16:02:26
    Android的组件都拥有点击事件,可以为其设置点击... 第一种是,直接创建一个匿名内部类button.setOnclickListener(new onClickListener(){ 覆盖 onClick(){ ... } })Button bt_1 = (Button) findViewById(R.id.bt_1);

    Android的组件都拥有点击事件,可以为其设置点击事件。我们常用的点击事件有4种。
    第一种是,直接创建一个匿名内部类

    button.setOnclickListener(new onClickListener(){
        覆盖
        onClick(){
        完成点击事件的逻辑。
        }
    })
    Button bt_1 = (Button) findViewById(R.id.bt_1);
    bt_1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "匿名内部类实现点击件",0).show();
    }  

    第二种,让我当前这个类,来实现OnclickListener这个接口,我一实现这个接口,我这个类就会报错,然后提示我实现onclickListener这个接口里面的onclick方法,然后我就到要指定点击时间的组件中写下方语句就行
    Button,setOnClickListener(this);就可以了,
    注意在写onclick(View v)方法的时候,需要判断v.getId()==Button的id,如果相同,那么就做逻辑功能。

    public class MainActivity extends Activity implements OnclickListener{
        @Override   
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button bt_1 = (Button) findViewById(R.id.bt_1);
        bt_1.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "本类实现OnclickListener接口", 0).show();
        }
    }  

    第三种:我自己写一个myListener类来实现OnclickListener这个接口,然后这里面就实现了onclick方法.当button在创建点击事件的时候就button.setOnClickListener(new myListener());

    class MyOnClickListener implements OnClickListener{
    
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, "内部类实现点击事件", 0).show();
        }
    
    }  
    bt_1.setOnClickListener(new MyOnClickListener());  

    第四种:在布局文件中需要设定点击时间的组件上(组件可以是任何组件),设定onclick的属性,后面给的参数就是指定的点击事件的方法,然后复制这个方法名,到对应的activity类里面去实现这个方法,方法有固定写法

    public void 方法名(View v){
        方法体;
    }
    <Button 
        android:id="@+id/bt_1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:onClick="click"
        android:text="@string/bt1"/>  
    然后在MainAcvitity中添加相应的事件 
    public void click(View v){
            Toast.makeText(MainActivity.this, "XML实现点击事件", 0).show();
        }  
    展开全文
  • Tkinter 组件详解(二):Button

    万次阅读 2018-12-19 22:00:10
    Tkinter 组件详解之Button 简介 Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。 ...

    Tkinter 组件详解之Button

    简介

    Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。

    Button 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷键)。默认情况下,tab 按键被用于在按钮间切换。

    何时使用 Button 组件?

    简而言之,Button 组件是用于让用户说:“干!”,通过按钮上的文字或图标让用户清楚按下去是干什么用的。Button 组件常常被用于工具栏、应用程序窗口、和表示接受或拒绝的对话框。Checkbutton 和 Radiobutton 

    CheckbuttonRadiobutton 组件 更适合做数据输入按钮使用。

    用法

    普通的按钮是非常简单易用的。你所需要做的就是指定 Button 的内容(文本、位图或者图片),并且关联当按钮被按下时应该调用的函数或方法:

    import tkinter as tk
    
    master = tk.Tk()
    
    def callback():
        print("我被调用了!")
    
    b = tk.Button(master, text="执行", command=callback)
    b.pack()
    
    master.mainloop()

    >>> 
    =============== RESTART===============
    我被调用了!

     如果一个按钮没有相关联的函数或方法,那么它就形同虚设。你可能在开发程序的过程中会使用到这样的按钮,在这种情况下,更好的方法是禁用这些按钮,从而避免导致你的测试用户产生疑惑。

    b = tk.Button(master, text="不执行", state="disabled")

     

    如果你没有指定 Label 的大小,那么 Label 的尺寸是正好可以容纳其内容而已。你可以使用 padx 和 pady 选项在 Button 的内容和边框间添加额外的间距。

    当然你可以通过 height 和 width 选项来明确设置 Button 的大小:如果你显示的是文本,那么这两个选项是以文本单元为单位定义 Button 的大小;如果你显示的是位图或者图像,那么它们以像素为单位(或者其他屏幕单元)定义 Button 大小。

    对于内容为文本的 Button 组件,你可以使用像素为单位指定 Buttton 的尺寸,不过这需要一些技巧。这里提供一个方法给大家参考(还有其它方法实现):

    f = tk.Frame(master, height=64, width=64)
    f.pack_propagate(0)
    f.pack()
    
    b = tk.Button(f, text="确定", command=callback)
    b.pack(fill="both", expand=1)

    Button 可以显示多行文本,你可以直接使用换行符或使用 wraplength 选项来实现。当文本换行的时候,你可以使用 anchor 和 justify 以及 padx 选项来使得文本如你所希望的显示出来:

    longtext = """
    我明明只是一个按钮,
    作为按钮并不需要太多
    的文字用于告诉用户当
    我被按下的时候会发生
    什么事情,但我为什么
    这么长?
    """
    b = tk.Button(master, text=longtext, anchor="w", justify="left", padx=2, command=callback)
    b.pack()

     

    为了使一个普通的按钮保持被“按下”的状态,例如你希望通过某种方式实现一个工具箱(像 Photoshop 左侧的工具栏按钮,按下的时候他保持凹下去,说明你正在使用此工具),你可以简单的将 relief 选项的默认值 "raised" 改为 "sunken":

    b.config(relief="raised")

    你或许也希望修改背景色。不过更好的方法是使用 CheckbuttonRadiobutton 组件,并把它们的 indicatoron 选项设置为 False:

    b = tk.Checkbutton(master, image=bold, variable=var, indicatoron=False)

    在早期版本的 Tkinter 中,image 选项会覆盖 text 选项。也就是说如果你同时指定了两个选项,那么只有 image 选项会被显示。但在新的 Tkinter 中,你可以使用 compound 选项设置二者的混合模式。例如下边就是通过设置 compound="center" 使得文字位于图片的上方(重叠显示):

    photo = tk.PhotoImage(file = 'botton.gif')
    b = tk.Button(master, text="点我", font = 20, image = photo, compound = "center")
    
    b.pack()
    

    通过 "left","right","top" 和 "bottom" 则可以设置文字在图像的旁边显示:

    b = tk.Button(master, text="点它 ->", font = 20, image = photo, compound = "right")

    参数

    Button(master=None, **options) (class)

    master -- 父组件

    **options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:

    选项 含义
    activebackground 1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的背景色
    2. 默认值由系统指定
    activeforeground 1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的前景色
    2. 默认值由系统指定
    anchor

    1. 控制文本(或图像)在 Button 中显示的位置

    2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或者 "center" 来定位(ewsn 代表东西南北,上北下南左西右东)
    3. 默认值是 "center"

    background 1. 设置背景颜色
    2. 默认值由系统指定
    bg 跟 background 一样
    bitmap 1. 指定显示到 Button 上的位图
    2. 如果指定了 image 选项,则该选项被忽略
    borderwidth 1. 指定 Button 的边框宽度
    2. 默认值由系统指定,通常是 1 或 2 像素
    bd 跟 borderwidth 一样
    compound

    1. 控制 Button 中文本和图像的混合模式
    2. 默认情况下,如果有指定位图或图片,则不显示文本

    3. 如果该选项设置为 "center",文本显示在图像上(文本重叠图像)
    4. 如果该选项设置为 "bottom","left","right" 或 "top",那么图像显示在文本的旁边(如 "bottom",则图像在文本的下方)
    5. 默认值是 NONE

    cursor 1. 指定当鼠标在 Button 上飘过的时候的鼠标样式
    2. 默认值由系统指定
    default 1. 如果设置该选项("normal"),该按钮会被绘制成默认按钮
    2. Tkinter 会根据平台的具体指标来绘制(通常就是绘制一个额外的边框)
    2. 默认值是 "disable"
    disabledforeground 1. 指定当 Button 不可用的时候前景色的颜色
    2. 默认值由系统指定
    font 1. 指定 Button 中文本的字体
    2. 一个 Button 只能设置一种字体
    3. 默认值由系统指定
    foreground 1. 设置 Button 的文本和位图的颜色
    2. 默认值由系统指定
    fg 跟 foreground 一样
    height 1. 设置 Button 的高度
    2. 如果 Button 显示的是文本,那么单位是文本单元
    3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
    4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出高度
    highlightbackground 1. 指定当 Button 没有获得焦点的时候高亮边框的颜色
    2. 默认值由系统指定
    highlightcolor 1. 指定当 Button 获得焦点的时候高亮边框的颜色
    2. 默认值由系统指定
    highlightthickness 1. 指定高亮边框的宽度
    2. 默认值是 0(不带高亮边框)
    image 1. 指定 Button 显示的图片
    2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
    3. 该选项优先于 text 和 bitmap 选项
    justify

    1. 定义如何对齐多行文本

    2. 使用 "left","right" 或 "center"
    3. 注意,文本的位置取决于 anchor 选项
    4. 默认值是 "center"

    overrelief 1. 定义当鼠标飘过时 Button 的样式
    2. 如果不设置,那么总是使用 relief 选项指定的样式
    padx 指定 Button 水平方向上的额外间距(内容和边框间)
    pady 指定 Button 垂直方向上的额外间距(内容和边框间)
    relief 1. 指定边框样式
    2. 通常当按钮被按下时是 "sunken",其他时候是 "raised"
    3. 另外你还可以设置 "groove"、"ridge" 或 "flat"
    4. 默认值是 "raised"
    repeatdelay 见下方 repeatinterval 选项的描述
    repeatinterval 1. 通常当用户鼠标按下按钮并释放的时候系统认为是一次点击动作。如果你希望当用户持续按下按钮的时候(没有松开),根据一定的间隔多次触发按钮,那么你可以设置这个选项。
    2. 当用户持续按下按钮的时候,经过 repeatdelay 时间后,每 repeatinterval 间隔就触发一次按钮事件。
    3. 例如设置 repeatdelay=1000,repeatinterval=300,则当用户持续按下按钮,在 1 秒的延迟后开始每 300 毫秒触发一次按钮事件,直到用户释放鼠标。
    state 1. 指定 Button 的状态
    2. 默认值是 "normal"
    3. 另外你还可以设置 "active" 或 "disabled"
    takefocus 1. 指定使用 Tab 键可以将焦点移到该 Button 组件上(这样按下空格键也相当于触发按钮事件)
    2. 默认是开启的,可以将该选项设置为 False 避免焦点在此 Button 上
    text 1. 指定 Button 显示的文本
    2. 文本可以包含换行符
    3. 如果设置了 bitmap 或 image 选项,该选项则被忽略
    textvariable 1. Button 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
    2. 如果变量被修改,Button 的文本会自动更新
    underline 1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 
    2. 默认值是 -1
    3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线
    width 1. 设置 Button 的宽度
    2. 如果 Button 显示的是文本,那么单位是文本单元
    3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
    4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出宽度
    wraplength 1. 决定 Button 的文本应该被分成多少行
    2. 该选项指定每行的长度,单位是屏幕单元
    3. 默认值是 0

    方法

    flash() 

    -- 刷新 Button 组件,该方法将重绘 Button 组件若干次(在 "active" 和 "normal" 状态间切换)。

    invoke() 

    -- 调用 Button 中 command 选项指定的函数或方法,并返回函数的返回值。
    -- 如果 Button 的state(状态)是 "disabled"(不可用)或没有指定 command 选项,则该方法无效。

    展开全文
  • button" value="我是一个按钮" onclick="javascrtpt:window.location.href='http://blog.sina.com.cn/mleavs'"&gt; 触发一个函数跳转: &lt;script&gt; function jump(){ ...
  • button 外观样式

    2020-10-20 09:50:28
    button 外观样式 // pages/demo13/demo13.js Page({ // 获取用户的手机号码信息 getPhoneNumber(e){ console.log(e); }, // 获取用户个人信息 getUserInfo(e){ console.log(e); } }) <!-- button ...
  • Qt Button控件的属性说明

    千次阅读 2019-03-12 14:24:06
    Qt中Button系列根据用途被划分为不同的定义,其实现框架为QAbstractButton提供按钮的通用性功能,此为抽象基类,所以无法进行实例化。用户需要继承定义此类,实现paintEvent,实现具体的展示。常见的Button有...
  • Button Class(按钮类别)

    千次阅读 2019-01-20 09:31:22
    代码整理: 1.提供IsPressing信号,让其他模块或后续模块得知目前用户硬件输入状态。 2.OnPressed 信号,提供…目前是否刚刚按下此按钮。 3.OnReleased信号,…目前是否刚刚释放此按钮。 在Assets目录下新建类程式码...
  • 微信小程序学习(10)-button控件

    万次阅读 2016-11-28 15:59:27
    button控件学习 1.button属性 2.size和type属性对button的影响 size属性的默认值为default,type属性的默认值也为default,如果值为default时,该属性可以省略; size属性为default size属性为...
  • Button 详解

    千次阅读 2018-01-24 10:16:55
    知识点: 1、输入事件大纲(事件监听、事件处理、触摸模式、处理焦点)。 2、控件都可看做View。响应事件是基于view的。...3、事件监听(无返回类型、有些会返回boolean类型)(onclick()、onLongClick()、...
  • Button按钮的四种点击方式

    千次阅读 2017-05-18 10:53:15
    Button按钮的四种点击方式 第一种:  private Button btn;  private ImageView iv;    @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);
  • CSS消除button标签的默认样式

    万次阅读 2018-05-10 09:57:53
    //消除button的默认样式 margin: 0; padding: 0; border: 1px solid transparent; //自定义边框 outline: none; //消除默认点击蓝色边框效果
  • Android-设置Button不可点击

    万次阅读 2014-02-20 10:33:52
    如果你设置android:clickable是没有效果的,Button默认clickable是true。修改是没有效果。 要想设置button不可点击,只有设置android:enabled。
  • 1.使用element-ui组件中的el-button时,@click点击无效 2.在@click后面加上 .native即可 【@click.native】
  • VUE element-ui 之button 按钮简介

    万次阅读 2018-11-15 11:04:19
    element-ui之Button 按钮 按钮等可以通过vue绑定属性来控制某一些属性 各式各样的按钮 &amp;amp;lt;el-button&amp;amp;gt;鼠标滑过/点击背景变淡&amp;amp;lt;/el-button&amp;amp;gt; &amp...
  • 去除button默认样式

    万次阅读 2018-09-22 16:05:54
    border: 0; background-color: transparent; outline: none;      
  • html,button的背景色和文字颜色

    万次阅读 2020-03-03 18:41:15
    新建 background-color表示背景色 color表示文字的颜色
  • Bootstrap 基础CSS - 按钮(Buttons)

    万次阅读 2013-01-27 21:34:58
    默认按钮 建议只在和标签上应用.btn。...Button class="" Description Default btn Standard gray button with gradient Primary btn btn-primary Provides extra visual weight
  • 去掉button默认样式

    万次阅读 2018-10-18 14:28:39
    border: none; background-color: transparent; outline: none; //消除默认点击蓝色边框效果  
  • 小程序button边框和背景色修改

    万次阅读 2018-01-22 15:11:08
    一:button去掉边框border:none或border:0都无效 因为小程序默认的样式中给button::after{content:""} 自行添加button::after{border:0}去掉button的边框 二:button disable之后背景颜色和字体颜色的值...
1 2 3 4 5 ... 20
收藏数 1,323,895
精华内容 529,558
关键字:

button