python tkinter图形界面设计

使用python版本3.0以上

首先我们来建立一个窗口:

import tkinter as tk
 
root = tk.Tk()
root.title("我的窗口")                     #窗口标题
root.iconbitmap("my_icon.ico")            #窗口图标
root.geometry("500x500+100+100")          #窗口尺寸500x500  100+100分别是 X轴Y轴距离
root.resizable(False, False)              #窗口禁止放大缩小
 
root.mainloop()                           #窗口刷新

设置窗口的再电脑桌面剧中小案例

函数 说明
winfo_screenwidth() 屏幕宽度
winfo_screenheight() 屏幕长度
winfo_reqwidth() 窗口宽度
winfo_reqheight() 窗口长度
import tkinter  as tk
def get_screen_size(win):
    return win.winfo_screenwidth(),win.winfo_screenheight()
def center_window(root, width, height):
    screenwidth = root.winfo_screenwidth()
    screenheight = root.winfo_screenheight()
    size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)
    root.geometry(size)
root = tk.Tk()
root.title('居中窗口')
center_window(root, 600, 600)
root.mainloop()

能创建窗体后,我们就来熟悉常用的控件

控件 描述
Button 按钮控件,与Label相似,除此之外提供鼠标悬浮,按下,释放以及键盘活动/事件
Canvas 画布控件;显示图形元素如线条或文本
CheckButton 多选框控件;用于在程序中提供多项选择框(与Html的checkbox类似)
Entry 输入控件;用于收集键盘输入
Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label 标签控件;可以显示文本和位图
Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton 菜单按钮控件,用于显示菜单项。
Menu 菜单控件;按下MenuButton后弹出的选项列表,显示菜单栏,下拉菜单和弹出菜单
Message 消息控件;与Label类似,用来显示多行文本,与label比较类似
Radiobutton 单选按钮控件;显示一个单选的按钮状态(与Html的radio类似)
Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar 滚动条控件,当内容超过可视化区域时使用,为Text、Canvas、Listbox、及Enter等支持的控件提供滚动功能
Text 文本控件;用于显示多行文本
Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox 用于显示你应用程序的消息框。showinfo(title='',message='')

下面我们来操作一个demo

import tkinter as tk

 #窗体
root = tk.Tk()
root.title("我的窗口")                  
root.geometry("500x500+300+300")         
root.resizable(False, False)           

#我们来创建一个button按钮
btn1=tk.Button(root,text='我是按钮1')
btn1.pack()

#也可以写成
btn2=tk.Button(root,text='我是按钮2').pack()

root.mainloop()    

控件显示设置模式是:

变量=tk.控件(所在窗体,text=名称,fg=字体颜色,bg=背景颜色,font=(字体,大小),width=宽度,height=高度)

设置完成之后,我们显示会有3种:目前从pack说起!

设置完成后,变量.pack()执行


#我们来创建一个button按钮
btn1=tk.Button(root,text='我是按钮1')
btn1.pack()
 
#也可以写成
btn2=tk.Button(root, text='我是按钮2', fg='red',bg='blue', font=('黑体',10),width="20",height='5' ).pack()

pack作为控件显示和控件定位参数使用

参数 内部参数说明
expand expand='yes'  水平上下剧中
fill fill = ‘x’: 表示在水平方向充满整个父控件
fill = ‘y’: 表示在垂直方向充满整个父控件
fill = ‘both’:表示充满整个父控件
side

side=tk.TOP   表示对应窗体的 上下左右

side=tk.BOTTOM

side=tk.LEFT

side=tk.RIGHT

*类似于浮动

anchor

一共有8个方向:东,西,南,北,东南,西南,东北,西北....

分别是:e,w,n,s,ne,se,nw,sw

这里后续更新

ipadx,ipady 类似于padding,增大X方向或者Y方向空间
in_ python关键字换掉对应的text值
forget()

隐藏:元素变量.forget()对应pack()显示

下面我们来使用menu

import tkinter as tk
 
 #窗体
root = tk.Tk()
root.title("我的窗口")                  
root.geometry("500x500+300+300")         
root.resizable(False, False)           


menubar=tk.Menu(root)

filemenu=tk.Menu(menubar,tearoff = 0)
filemenu.add_command(label='打开文件')

filemenu1=tk.Menu(menubar,tearoff = 0)
filemenu1.add_command(label='选择编辑文件')
filemenu1.add_command(label='选择搜索文件')

menubar.add_cascade(label='文件', menu=filemenu)
menubar.add_cascade(label='编辑', menu=filemenu1)
menubar.add_cascade(label='Quit',command=root.destroy)

root.config(menu=menubar)
root.mainloop()    

猜你喜欢

转载自blog.csdn.net/munchmills/article/details/133467726