• Perl Tk grid布局管理器


    <pre name="code" class="sql">#!/usr/local/bin/perl
    use Tk;
    #Global Variables
    my $age = 10;
    # Main Window
    my $mw = new MainWindow;
    #GUI Building Area
    my $frm_name = $mw -> Frame();
    my $lab = $frm_name -> Label(-text=>"Name:");
    my $ent = $frm_name -> Entry();  ###定义输入文本框
    
    
    #Age
    my $scl = $mw -> Scale(-label=>"Age :",  # Scale 通过用户输入的变量调整滚动条
    
    -orient=>'v', -digit=>5,                 #-orient=>'v' 滚动条垂直布局  digit数字位数
    
    -from=>10, -to=>50,                      #开始数字和结束数字
    
    -variable=>$age, -tickinterval=>10);    #-variable=>$age传入变量引用,-tickinterval=>10 
    
    刻度间隔20
    
    my $but = $mw -> Button(-text=>"Push Me", -command =>&push_button); ## 执行函数
    
    push_button
    
    #Text Area
    my $textarea = $mw -> Frame();
    my $txt = $textarea -> Text(-width=>50, -height=>10);
    
    my $srl_y = $textarea -> Scrollbar(-orient=>'v',-command=>[yview => $txt]);  ##Scrollbar
    
    滚动条垂直 
    
    my $srl_x = $textarea -> Scrollbar(-orient=>'h',-command=>[xview => $txt]);
    
    
    
    $txt -> configure(-yscrollcommand=>['set', $srl_y], ##yscrollcommand文本部件和滚动条通讯
    
    -xscrollcommand=>['set',$srl_x]);
    
    #Geometry Management
    $lab -> grid(-row=>1,-column=>1); ###文本框
    $ent -> grid(-row=>1,-column=>2); ###入口
    $scl -> grid(-row=>2,-column=>1);  ##滚动条
    
    ##-row=>1,-column=>1 表示插入的子控件占据了第N行从0开始,如果不支持这个选项,那么
    ##子控件会被安排在相同行和先前的控件被grid布局,或者是空的是第一个子控件
    
    row=>1 column=>1 第一行第一列
    
    $frm_name -> grid(-row=>1,-column=>1,-columnspan=>100);
    
    #columnspan=>2 占据的列数
    $but -> grid(-row=>4,-column=>1,-columnspan=>2);
    
    #$but2 -> grid(-row=>2,-column=>2,-columnspan=>2);
    $txt -> grid(-row=>1,-column=>1);
    $srl_y -> grid(-row=>1,-column=>2,-sticky=>"ns");
    $srl_x -> grid(-row=>2,-column=>1,-sticky=>"ew");
    $textarea -> grid(-row=>5,-column=>1,-columnspan=>2);
    MainLoop;
    
    ## Functions
    #This function will be exected when the button is pushed
    sub push_button {
    my $name = $ent -> get();
    $txt -> insert('end',"$name is $age years old");
    }
    
    
    
    
    
    
    
    
    


    
                                        
    
  • 相关阅读:
    CSUST 4005-你真的会!(分治思维+线段树)
    CSUST 4007-你真的会图论吗?(思维-三元环)
    CSUST 4002-你真的会字符串吗?(DP)
    Odoo下拉动作列表
    Odoo Shell
    Odoo report
    Odoo Web Service API
    Odoo启动过程
    Odoo10 变化
    Odoo10尝鲜:出勤登记
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351923.html
Copyright © 2020-2023  润新知