zoukankan      html  css  js  c++  java
  • Python项目案例开发从入门到实战-1.4Python图形界面设计

    Python提供了多个图形开发界面的库,常用的Python GUI库如下。
    -Tkinter:Python内置模块
    -wxPython
    -Jython

    1.4.1创建Windows窗口

    import tkinter              导入Tkinter模块
    win = tkinter.Tk()          创建window窗口对象
    win.title("尝试Python窗口")  设置窗口标题
    
    win.geometry("600x330")     geometry()方法设置窗口大小,其中的x是小写字母x
    win.minsize("最小宽度x最小高度")
    win.maxsize("最大宽度x最大高度")
    
    win.mainloop()              进入消息循环,显示窗口
    

    1.4.2几何布局管理器

    下面的参数参考自:
    http://www.yyliu.cn/post/4121d904.html
    https://blog.csdn.net/qq_41556318/article/details/85108464
    使用方法:pack、grid、place(option=value)

    • pack几何布局管理器
    选项	含义
    anchor	1. 对齐方式,左对齐”w”,右对齐”e”,顶对齐”n”,底对齐”s”
            2. “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center” (默认为” center”)
    expand	1. 当值为“yes”时,side选项无效,组件显示在父配件中心位置;若fill选项为”both”,则填充父组件的剩余空间。
            2. 默认值是 False
    fill	1. 填充x(y)方向上的空间
            2. 当属性side=”top”或”bottom”时,填充x方向;
            3. 当属性side=”left”或”right”时,填充”y”方向;
            4. 当expand选项为”yes”时,填充父组件的剩余空间。
            5. 默认值是 NONE,表示保持子组件的原始尺寸
            6. 还可以使用的值有:"x"(水平填充),"y"(垂直填充)和 "both"(水平和垂直填充)
    in_	    1. 将该组件放到该选项指定的组件中
            2. 指定的组件必须是该组件的父组件
    ipadx	组件内部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。
    ipady   组件内部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。
    padx    组件外部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。
    pady	组件外部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。
    side	1. 指定组件的放置位置
            2. 默认值是 "top"
            3. 还可以设置的值有:"left""bottom""right"
    
    • grid几何布局管理器
    column      组件所置单元格的列号。	自然数(起始默认值为0,而后累加)
    columnspan	从组件所置单元格算起在列方向上的跨度。	自然数(起始默认值为0)
    ipadx, ipady	组件内部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。	非负浮点数(默认值为0.0)
    padx, pady	组件外部在x(y)方向上填充的空间大小,默认单位为像素,可选单位为c(厘米)、m(毫米)、 i(英寸)、p(打印机的点,即1/27英寸),用法为在值后加以上一个后缀既可。	非负浮点数(默认值为0.0)
    row	        组件所置单元格的行号。	自然数(起始默认值为0,而后累加)
    rowspan	    从组件所置单元格算起在行方向上的跨度。	自然数(起始默认值为0)
    in_	        将本组件作为所选组建对象的子组件,类似于指定本组件的master为选定组件。	已经pack后的组件对象
    sticky	    组件紧靠所在单元格的某一边角。	“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center” (默认为” center”)
    
    
    • place几何布局管理器
      anchor 部件其他选项的确切位置 “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center” (默认为” nw”)
      bordermode INSIDE(默认值)表示其他选项引用父类的内部(忽略其父边界),OUTSIDE则不然。 INSIDE, OUTSIDE(默认值为INSIDE)
      height, width 部件以像素为单位的宽和高 整数(无默认值)
      reheight, relwidth 宽和高在0.0~1.0之间的浮点数,作为父组件宽和高的一部分 0.0~1.0之间的浮点数(无默认值)
      relx, rely 在0.0~1.0之间的水平和垂直偏移量,作为父组件宽和高的一部分 0.0~1.0之间的浮点数(默认值为0.0)
      x, y 水平和垂直的像素偏移。 整数(默认值为0)

    1.4.3Tkinter组件

    参考自:http://www.cnblogs.com/Zidon/p/5022321.html

    控件	描述
    Button	按钮控件;在程序中显示按钮。
    Canvas	画布控件;显示图形元素如线条或文本
    Checkbutton	多选框控件;用于在程序中提供多项选择框
    Entry	输入控件;用于显示简单的文本内容
    Frame	框架控件;在屏幕上显示一个矩形区域,多用来作为容器
    Label	标签控件;可以显示文本和位图
    Listbox	列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
    Menubutton	菜单按钮控件,由于显示菜单项。
    Menu	菜单控件;显示菜单栏,下拉菜单和弹出菜单
    Message	消息控件;用来显示多行文本,与label比较类似
    Radiobutton	单选按钮控件;显示一个单选的按钮状态
    Scale	范围控件;显示一个数值刻度,为输出限定范围的数字区间
    Scrollbar	滚动条控件,当内容超过可视化区域时使用,如列表框。.
    Text	文本控件;用于显示多行文本
    Toplevel	容器控件;用来提供一个单独的对话框,和Frame比较类似
    Spinbox	输入控件;与Entry类似,但是可以指定输入范围值
    PanedWindow	PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
    LabelFrame	labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
    tkMessageBox	用于显示你应用程序的消息框。
    
    标准属性
    属性	描述
    Dimension	控件大小;
    Color	控件颜色;
    Font	控件字体;
    Anchor	锚点;
    Relief	控件样式;
    Bitmap	位图;
    Cursor	光标
    text    显示文本内容
    state   设置组件状态为正常(normal),激活(active)或禁用(disable)
    

    1.4.4Tkinter字体

    • 通过元组表示字体
    (font family, size ,modifiers)
    例:
    for ft in (('Arial',('Times New Roman','3','italic'))
        Label(win,text='Hello,my dream world',font=ft)
    
    • 通过Font对象表示字体
    ft=tkFont.Font((family='Fixdays',size=20,weight='bold',slant='italic',underline=1,overstrik=1))
    family  字体名
    size    大小
    weight  粗体:bold或normal或不写
    slant   斜体:italic或normal或不写
    underline   下划线
    overstrik   删除线
    

    1.4.5Python事件处理

    • 事件类型
      事件类型的通用格式:<[modifier-]…type[-detail]>
      事件类型必须放置于尖括号<>中,type描述类型,如键盘按键、鼠标单击;modifier用于组合键定义,如Control、Alt;detail用于明确定义是哪一个键或按钮的事件,如1表示鼠标左键,2表示鼠标中间,3表示鼠标右键
    例:
    <Button-1>      按下鼠标左键
    <KeyPress-A>    按下键盘上的A
    <Control-Shift-KeyPress-A>  同时按下Control、Shift和A三个键
    
    键盘事件:KeyPress、KeyRelease
    鼠标事件:ButtonPres或Button、ButtonReleas、Motion(点击组件并拖拽)、Enter、Leave、MouseWheel
    窗体事件:Visibility、Unmap、Map、Expose、FocusIn、FocusOut、Configure、Property、Destroy、Activate、Deactivate
    组合键修饰符:Alt、Any、Control、Double、Lock(Caps Lock键)、Shift、Triple
    
    • 事件绑定
      例:
    def submit()
        ...
    bt1 = Button(win,text='Submit',command=submit)
    
  • 相关阅读:
    JAXB
    Servlet编码和解码
    FileUpload
    DataSource
    20200821 二分搜索
    火狐账户如何在Android手机端与电脑端同步
    20200807 贪心;排队接水;[AHOI2018初中组]分组;国王的游戏
    20200802 高精度问题 阶乘之和
    20200803 牛客多校赛
    20200207
  • 原文地址:https://www.cnblogs.com/dansz/p/12819125.html
Copyright © 2011-2022 走看看