当前位置: 首页 > news >正文

网站开发网页设计游戏设计html网站怎么搭建

网站开发网页设计游戏设计,html网站怎么搭建,拷贝字体到wordpress,车险保险网站目录 1.认识GUI和使用tkinter2.使用组件2.1 标签2.2 按钮2.3 文本框2.4 单选按钮和复选按钮2.5 菜单和消息2.6 列表框2.7 滚动条2.8 框架2.9 画布 3. 组件布局4.事件处理 1.认识GUI和使用tkinter 人机交互是从人努力适应计算机#xff0c;到计算机不断适应人的发展过程#… 目录 1.认识GUI和使用tkinter2.使用组件2.1 标签2.2 按钮2.3 文本框2.4 单选按钮和复选按钮2.5 菜单和消息2.6 列表框2.7 滚动条2.8 框架2.9 画布 3. 组件布局4.事件处理 1.认识GUI和使用tkinter 人机交互是从人努力适应计算机到计算机不断适应人的发展过程大致经历了5个阶段早期手工阶段、命令行用户接口CLI阶段、图形用户界面GUI阶段、网络用户界面阶段、智能人机交互阶段。 GUIgraphical user interface图形用户界面是指采用图形方式显示的用户操作界面。 大部分应用软件都属于图形用户界面GUI程序如多媒体播放器、办公软件、网页浏览器等。一个完整的GUI程序实际包含两部分组件和事件。 组件。图形用户界面程序一般包含很多功能组件如窗口、菜单、按钮、文本框、复选框等。主窗口包括了所有的组件组件自身也可以作为容器包含其它的组件如下拉框。组件可以分为两类容器组件和基本组件大部分组件都是可见的、有形的对象。 容器组件可以存储基本组件和容器组件的组件。基本组件可以使用的功能组件依赖于容器组件。 事件。GUI程序就是由一整套的事件所驱动的当程序启动之后一直监听所有组件绑定的事件。当为程序需要的每一个事件都添加回调处理函数之后整个GUI程序就完成了。 事件就是将要发生的事情如鼠标单击、键盘输入、页面初始化、加载完毕、移动窗口等是图形用户交互的基础它通过一套完整的事件监听机制实现。事件包含如下3个要素 事件源事件发生的对象如窗口、按钮、菜单栏、文本框等。事件处理器针对可能发生的事情做出的处理方案简单说就是事件回调函数。事件监听器把事件源和事件关联起来如鼠标单击按钮、在文本框中输入字符等。 常用的GUI库有以下4种 tkinter是TK图形用户界面工具包标准的Python接口。轻量级的跨平台图形用户界面开发工具。wxPython是Python对跨平台的GUI工具集wxWidgets的包装也是比较流行的tkinter替代品。PyQt是Python对跨平台的GUI工具集Qt的包装。作为Python的插件其功能非常强大用PyQt开发的界面效果与Qt开发的界面效果相同。PySide是另一个Python对跨平台的GUI工具集Qt的包装捆绑在Python中。 此外还有一些其它的GUI库如PyGTK、AnyGui等。 使用tkinter创建GUI程序需要以下5步 导入tkinter模块。创建顶层窗口。构建GUI组件。将每一个组件与底层程序代码关联起来。执行主循环。 示例 import tkinter r tkinter.Tk() # 生成r主窗口 label tkinter.Label(r,text吃什么最补脑) # 生成标签 label.pack() # 将标签添加到r主窗口 button1 tkinter.Button(r,text吃亏) # 生成button1 button1.pack(sidetkinter.LEFT) # 将button1添加到r主窗口左对齐 button2 tkinter.Button(r,text六个核桃) # 生成button2 button2.pack(sidetkinter.RIGHT) # 将button2添加到r主窗口右对齐 r.mainloop() # 进入消息循环否则窗口一闪而过看不到运行结果2.使用组件 组件是GUI程序开发的基础tkinter 提供了比较丰富的组件。 Button按钮。类似标签但提供额外的功能单击时执行一个动作如鼠标移过、按下、释放以及键盘操作等事件。Canvas画布。提供绘图功能如直线、椭圆、多边形、矩形等可以包含图形或位图。Checkbutton复选按钮。允许用户勾选或取消选择一组复选框可以成组允许选择任意个。类似HTML中的checkbox组件。Entry单行文本框。显示一行文本用来收集键盘输入。类似HTML中的text组件。Label标签。用于显示不可编辑的文本、图片等信息。LabelFrame容器控件。是一个简单的容器控件常用于复杂的窗口布局。Listbox列表框。一个选项列表用户可以从中进行选择。Menu菜单。单击菜单按钮后弹出的一个选项列表用户可以从中进行选择。Menubutton菜单按钮。用来包含菜单的组件有下拉式、层叠式。Message消息框。类似于标签但可以显示多行文本。OptionMenu选择菜单。下拉菜单的改版弥补了Listbox无法定义下拉列表框的遗憾。PanedWindow窗口布局管理。是一个窗口布局管理的插件可以包含一个或者多个子控件。Radiobuttion单选按钮。允许用户从多个选项中选取一个一组按钮中只有一个可被选择。类似HTML中radio组件。Scale滑块组件。线性‘滑块’组件可设定起始值和结束值显示当前位置的精确值。Scrollbar滚动条。对其支持的组件如文本域、画布、列表框、文本框提供滚动功能。Spinbox输入控件。与Entry类似但是可以指定输入范围值。Text多行文本框。多行文本区域显示多行文本可以用来收集或显示用户输入的文字。类似HTML中的textarea组件。Toplevel顶层。容器组件类似框架为其它控件提供单独的容器。messageBox消息框。用于显示应用程序的消息框。 2.1 标签 Label标签组件用于在屏幕上显示文本或图像。仅能显示单一字体的文本但文本可以跨越多行另外还可以为其中的个别字符加上下画线如用于表示键盘快捷键。 使用tkinter.Label()构造函数可以创建标签组件语法和示例如下 from tkinter import * r Tk() # 实例化生成主窗口 r.title(使用标签组件) # 定义标签标题 label Label(r,anchorE, # 右侧显示bg#eef, # 浅灰色背景色fgred, # 红色字体text设计标签组件, #显示的文本font(隶书,24), # 字体类型和大小width20, # 标签的宽度height3 # 标签的高度) label.pack() # 调用pack方法添加到主窗口 r.mainloop() # 进入主循环2.2 按钮 Button按钮组件用于实现各种各样的按钮。包含文本或图像可以将一个Python函数或方法与之相关联当按钮被按下时对应的函数或方法将被自动执行。 Button组件仅能显示单一字体的文本但文本可以跨越多行另外还可以为其中的个别字符加上下画线用于表示键盘快捷键默认情况下Tab按键被用于在按钮间切换。 from tkinter import * r Tk() r.title(使用按钮组件) Button(r,text禁用,stateDISABLED).pack(sideRIGHT) Button(r,text取消).pack(sideLEFT) Button(r,text确定).pack(sideLEFT) Button(r,text退出,commandr.quit).pack(sideRIGHT) r.mainloop()2.3 文本框 Entry输入框组件用于获取用户的输入文本仅允许用于输入一行文本如果用于输入的字符串长度比该组件可显示空间更长那内容将被滚动意味着该字符串将不能被全部看到。显示多行文本常用于作为简单的文本编辑器和网页浏览器使用。 import tkinter as tk w tk.Tk() w.title(读取文本框中的值) w.geometry(360x160) # 设定窗口的大小长x宽 e tk.Entry(w,showNone) # 显示成明文形式 e.pack() # 注意因为Python的执行顺序是从上往下所以函数一定要放在按钮的上面 def insert_point(): # 在鼠标焦点处插入输入内容var e.get()t.insert(insert,var) def insert_end(): # 在文本框内容最后接着插入输入内容var e.get()t.insert(end,var) # 创建并放置两个按钮分别触发两种情况 b1 tk.Button(w,text在光标位置插入,width20,height2,commandinsert_point) b1.pack() b2 tk.Button(w,text在文本尾部位置插入,width20,height2,commandinsert_end) b2.pack() # 创建一个多行文本框Text显示指定3个字符高度 t tk.Text(w,height3) t.pack() w.mainloop()2.4 单选按钮和复选按钮 Radiobutton单选按钮组件用于实现多选一的问题可以包含文本或图像。 Checkbutton复选按钮组件用于实现确定是否选择的按钮。 import tkinter as tk w tk.Tk() w.title(设计复选按钮) w.geometry(300x100) l tk.Label(w,bgyellow,width20,text) l.pack() def print_selection(): # 定义触发函数功能if (var1.get()1)(var2.get() 0): # 如果选中第一个选项未选中第二个选项l.config(text勾选了Python)elif(var1.get()0)(var2.get()1): # 如果未选中第一个选项选中第二个选项l.config(text勾选了C)elif(var1.get()0)(var2.get()0): # 如果未选中第一个选项未选中第二个选项l.config(text什么都没有勾选)else: # 如果两个都勾选l.config(text全部勾选) # 定义变量用来存放选中行为的返回值 var1 tk.IntVar() var2 tk.IntVar() c1 tk.Checkbutton(w,textPython,variablevar1,onvalue1,offvalue0,commandprint_selection) c1.pack() c2 tk.Checkbutton(w,textC,variablevar2,onvalue1,offvalue0,commandprint_selection) c2.pack() w.mainloop()2.5 菜单和消息 Menu菜单组件用于实现顶级菜单、下拉菜单和弹出菜单。创建一个顶级菜单需要先使用Menu()创建一个菜单实例然后使用add()方法将命令和其它子菜单添加进去。 from tkinter import * r Tk() r.title(设计菜单) r.geometry(300x200) m Menu(r) filemenu Menu(m,tearoff0) m.add_cascade(label文件,menu filemenu) filemenu.add_command(label新建) filemenu.add_command(label打开) filemenu.add_command(label保存) r.config(menu m) r.mainloop()Message消息组件是Label组件的变体用于显示多行文本消息。 from tkinter import * w Tk() mess 你收到一天消息 msg Message(w,textmess) msg.config(bglightgreen,font(宋体,16,italic)) msg.pack() w.mainloop()2.6 列表框 Listbox列表框组件用于显示一个选择列表。 Listbox(容器,可变关键字参数)from tkinter import * r Tk() # 创建顶级窗口 a Label(r,bgyellow,width20,text) # 定义一个提示信息显示的标签 a.pack() def f(e): # 定义选项触发功能a.config(text被选项为l.get(l.curselection())) l Listbox(r) # 定义列表框 l.bind(Double-Button-1,f) # 绑定鼠标双击事件 for i in range(10):l.insert(END,str(i)) l.pack() # 显示列表框 r.mainloop()2.7 滚动条 Scrollbar滚动条组件用于滚动一些组件的可见范围根据方向可分为垂直滚动条和水平滚动条。 from tkinter import * r Tk() sb Scrollbar(r,orientHORIZONTAL) # 滚动条水平显示不写默认垂直滚动 sb.set(0.5,1) # 设置滑块的位置 sb.pack() # 显示滚动条 r.mainloop()2.8 框架 Frame 组件主要用于在复杂的布局中将其他组件分组也用于填充间距和作为实现组件的基类。 from tkinter import * r Tk() # 创建顶级窗口 r.title(设计框架) r.geometry(600x500) fm Frame(height200,width200,bggreen,border2) fm.pack_propagate(0) # 固定frame大小如果不设置frame随着标签大小改变 fm.pack() # 显示框架 Label(fm,text左侧标签).pack(sideleft) Label(fm,text右侧标签).pack(sideright) r.mainloop()2.9 画布 Canvas 是一个通用的组件通常用于显示和编辑图形可以用它绘制线段、圆形、多边形、甚至绘制其它组件。 from tkinter import * r Tk() r.title(使用画布) w Canvas(r,width200,height100) # 创建画布 w.pack() # 显示画布 w.create_line(0,50,200,50,fillyellow) # 画一条黄色的横线 w.create_line(100,0,100,100,fillred,dash(4,4)) # 画一条红色的竖线虚线 w.create_rectangle(50,25,150,75,fillblue) # 中间画一个蓝色的矩形 Button(r,text删除全部,command(lambda xall:w.delete(x))).pack() r.mainloop()3. 组件布局 tkinter 提供了3个布局管理器pack包按添加顺序排列组件grid网格按行、列格式排列组件place位置准确设置组件的大小和位置。 **grid 布局**可以以网络化设置组件的位置但不要在同一父组件中混合使用pack和grid。 from tkinter import * r Tk() r.title(问卷调查) Label(r,text姓名).grid(row0) Label(r,text密码).grid(row1) Label(r,text兴趣爱好).grid(row2) Entry(r).grid(row0,column1) Entry(r).grid(row1,column1) Entry(r).grid(row2,column1) r.mainloop()place 布局可以精确定义组件的位置和大小 from tkinter import * r Tk() r.title(小样) def callback():print(正中靶心) tk.Button(r,text打我,commandcallback).place(relx0.5,rely0.5,anchorcenter) r.mainloop()4.事件处理 事件序列是以字符串的形式表示一个或多个相关联的事件。它包含在中。 modifier-type-detail type用于描述通用事件类型如鼠标单击、键盘按键单击等。 modifier可选项用于描述组合键如CtrlC表示同时按Ctrl和C键。 detail可选项用于描述具体的按键如Button-1表示鼠标左键。Button-1 # 用户单击鼠标左键 KeyPress-H # 用户单击H按键 Control-Shift-KeyPress-H # 用户同时按CtrlShiftH组合键事件绑定有4种方法 1、创建组件对象时指定。通过参数command指定。 b Button(root,text‘按钮’,commandclickhandler) 2、实例绑定。调用组件对象的bind()方法可以为指定组件绑定事件。 w.bind(‘’,eventhandler,add‘’) 3、类绑定。调用组件对象的bind_class()方法为特定类绑定事件。 w.bind(‘Widget’,‘’,eventhandler,add‘’) 4、程序界面绑定。调用组件对象的bind_all()方法为所有组件类型绑定事件。 w.bind_all(‘’,eventhandler,add‘’) import tkinter as tk r tk.Tk() entry tk.Entry(r) def f1(event):event.widget[bg] red def f2(event):event.widget[bg] white entry.bind(Enter,f1) # 鼠标经过时背景色显示红色 entry.bind(Leave,f2) # 鼠标离开时背景色显示白色 entry.pack() r.mainloop()事件对象通过传入的事件对象可以访问该对象属性获取事件发生时相关参数以备程序使用。 widget事件源即产生该事件的组件。x,y当前鼠标指针的坐标位置相对于窗口左上角以像素为单位。x_root,y_root当前鼠标指针的坐标位置相对于屏幕左上角以像素为单位。keysym按键名。keycode按键码。num按钮数字鼠标事件专属。width, height组件的新尺寸Configure事件专属。 import tkinter as tk r tk.Tk() def callback(event): # 事件处理函数参数event为Event事件对象print(点击的键盘字符为,event.char) fm tk.Frame(r,width200,height200) fm.bind(Key,callback) # 绑定鼠标单击事件 fm.focus_set() # 获取焦点接收键盘响应 fm.pack() r.mainloop()
http://www.sadfv.cn/news/129945/

相关文章:

  • 贵阳专业网站建设贵阳做网站软件
  • 网站域名到期会怎么样天推广人的网站
  • 建站设计页面首页wordpress
  • Wordpress建站用什么系统php 网站建设流程
  • 外贸网站源码哪个好网站seo优化培训
  • 做网站登录微商做图王官方网站
  • 网站备案是备什么郑州网络营销网站
  • 烟台网站建设网站推广常州辉煌网络网站建设
  • 网站关于我们的页面我想建个网站怎么建
  • 如何做实体店的网站网站前台后台模板
  • 要找做冲压件的厂去哪个网站找整站优化温州怎么做?
  • 苏州建网站的公司一站式服务php除了做网站
  • 新网站如何做推广莆田网站关键词优化
  • 建设网站熊掌号分享经济网站怎么建设
  • 打电话来说做网站 然后答应了甘肃企业网站备案
  • 优化公司怎么优化网站的网站实名认证中心
  • wordpress网站图片加速静态网页制作技术
  • 网站 多个ip 备案云南网站公司
  • 网站建设qinnetdedecms做的网站收费吗
  • 上海响应式网站建设费用网站做友链盈利
  • 先有域名才可以做网站吗有哪些网站做明星周边
  • 重生做网站的小说手机网站开源
  • 企业网站模板psd珠海网络推广公司
  • 做韩国的跨境电商网站网站营销推广有哪些
  • 口碑好的网站建设价格房产网贷平台
  • 高端摄影网站模板wordpress前台登录注册
  • .net网站开发是什么对象开发高端网站建设服务器
  • 北京互联网公司开发的网站做企业网站设计价格是多少
  • 焦作网站建设设计公司做个简单的公司网站要多少钱
  • 上海关键词排名搜索重庆seo技术分享