python图形界面设计项目的目的_Python项目案例开发从入门到实战-1.4Python图形界面设计...

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几何布局管理器

选项含义

anchor1. 对齐方式,左对齐”w”,右对齐”e”,顶对齐”n”,底对齐”s”

2. “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center” (默认为” center”)

expand1. 当值为“yes”时,side选项无效,组件显示在父配件中心位置;若fill选项为”both”,则填充父组件的剩余空间。

2. 默认值是 False

fill1. 填充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英寸),用法为在值后加以上一个后缀既可。

side1. 指定组件的放置位置

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”)

bordermodeINSIDE(默认值)表示其他选项引用父类的内部(忽略其父边界),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类似,但是可以指定输入范围值

PanedWindowPanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。

LabelFramelabelframe 是一个简单的容器控件。常用与复杂的窗口布局。

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事件处理

事件类型

事件类型的通用格式:

事件类型必须放置于尖括号<>中,type描述类型,如键盘按键、鼠标单击;modifier用于组合键定义,如Control、Alt;detail用于明确定义是哪一个键或按钮的事件,如1表示鼠标左键,2表示鼠标中间,3表示鼠标右键

例:

按下鼠标左键

按下键盘上的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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值