python主页面_「总结篇」Python所有的界面操作总结

Python最强大的地方在于:可以创造软件,写软件就离不开界面,那么你知道Python的界面操作技巧吗?

主窗体设计

界面设置:

import tkinter as tk1、引入tkinter模块,并且引用为tk

window = tk.Tk()2、将主窗体实例化,并且命名为window

window.title("新软件")3、设置主窗体的标题为【新软件】

window.iconbitmap("mc.ico")4、设置主窗口的ico图标

width = 3805、设置主窗体的宽度为380

height = 3006、设置主窗体的高度为300

screenwidth = window.winfo_screenwidth()screenheight = window.winfo_screenheight()alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)window.geometry(alignstr)7、获取屏幕的宽、高,将主窗体置于屏幕中间处

window_son = tk.Toplevel(window)8、在主窗体之上再创建一个窗口window_son,完全不影响其他程序的运行,可用于进度展示,出错提醒等

window.destroy()9、让指定窗体消失

window.mainloop()10、window窗体可以执行

元素设置:

tk.Label(window, text='用户名:', font=("微软雅黑", 10), fg="#666666").place(x=50, y=150)1、在window窗体的(50,150)位置添加一个用户名的文字标签,字体为‘微软雅黑’,字号是:10,颜色是#666666,其中的.place方法可以换成.grid(column=1, row=0) 意思是将其列设置为1,行设置为0,也可以加bg='green', width=30, height=2这些属性

var_usr_name = tk.StringVar()var_usr_name.set('admin')entry_usr_name=tk.Entry(window, textvariable=var_usr_name)entry_usr_name.place(x=160, y=150)var_usr_name.focus()2、在window窗体的(160,150)位置添加一个输入框,初始值设置为'admin',如果是密码框,不让显示内容的话,第三行的参数里边添加 show='*',获取输入框的内容用:usr_name = var_usr_name.get(),.place方法可以换成.grid方法,最后一句的意思是启动的时候,光标默认会出现在该文本框中

canvas = tk.Canvas(window, height=200, width=500)image_file = tk.PhotoImage(file="1.gif")image=canvas.create_image(0,0,anchor='nw',image=image_file)canvas.pack(side='top')3、在window窗体里边新建一个1.gif的背景图片,宽度500,高度200,对齐方式为顶部对齐

img=PhotoImage(file='images/1.gif')tk.Button(windows,height='130',text='click',compound='top',image=img,cursor="hand2",relief="groove",bd="0",bg="white",command=rixiao_sc).place(x=20, y=50)4、新建一个图片+文字按钮,图片为'images/1.gif',文字为'click',高度是130,点上去变成hand2,小手样式,按钮下沉样式relief,command为点击行为

tk.Button(window,text="click",width=10,command=lambda:window.wm_attributes('-topmost',1)).place(x=40, y=220)5、在window窗体(40,220)的位置添加一个点击置顶的功能

from tkinter import ttkcmb = ttk.Combobox(window, width=12)cmb.pack()cmb['value'] = ('选项一','选项二')cmb.grid(padx=100,pady=20)cmb.current(0)value_get = cmb.get()6、在window窗体(100,20)的位置添加一个下拉框,选项有两个,默认选择第一个,最后一行是获取单选框的值

chs = tk.IntVar()check1 = tk.Checkbutton(win, text="Disabled", variable=chs, state='disabled')check1.select()check1.grid(column=0, row=4, sticky=tk.W)7、复选框:第1行:用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态,其状态值为int类型 勾选为1 未勾选为0;第2行:text为该复选框后面显示的名称, variable将该复选框的状态赋值给一个变量,当state='disabled'时,该复选框为灰色,不能点的状态;第3行:该复选框是否勾选,select为勾选, deselect为不勾选;第4行:位置,sticky=tk.W 当该列中其他行或该行中的其他列的某一个功能拉长这列的宽度或高度时,设定该值可以保证本行保持左对齐,N:北/上对齐 S:南/下对齐 W:西/左对齐 E:东/右对齐

radVar = tk.IntVar()rad1=tk.Radiobutton(win,text='000',variable=radVar, value=1, command=radCall)8、单选按钮,第一行:通过tk.IntVar() 获取单选按钮value参数对应的值,第二行:当该单选按钮被点击时,会触发参数command对应的函数

scr=scrolledtext.ScrolledText(win, width=30, height=10, wrap=tk.WORD)scr.grid(column=0, columnspan=3)9、滚动文本框,第一行:wrap=tk.WORD 这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为tk.CHAR;第二行:columnspan 个人理解是将3列合并成一列 也可以通过 sticky=tk.W 来控制该文本框的对齐方式

功能区

常用功能:

import tkinter.messageboxtk.messagebox.showinfo("等一等", "正在规划中")1、弹出一个标题是"等一等",内容是"正在规划中"的提示框

boxvalue = tkinter.StringVar()boxlist = ttk.Combobox(win, textvariable=boxvalue)boxlist["values"] = ("1", "2", "3", "4")boxlist.current(0)boxlist.bind("<>", go)boxlist.pack()2、可输入的下拉框,选中的时候执行go函数

def click():an.configure(text='Hello ' + name.get() )an = ttk.Button(win, text="000", command=click)3、点击按钮,按钮的文字发生变化

def bian():var.set('进度:%s/%s页' % (i, page))l.update()var = tk.StringVar()var.set('下载进度')l = tk.Label(window, textvariable=var)l.place(x=118, y=214)4、可用于设置进度的变化

定位

tk.Label(window, text=1).grid(row=i, column=j, padx=10, pady=10, ipadx=10, ipady=10)1、其实 grid 就是用表格的形式定位的。这里的参数 row 为行,colum 为列,padx 就是单元格左右间距,pady 就是单元格上下间距,ipadx是单元格内部元素与单元格的左右间距,ipady是单元格内部元素与单元格的上下间距。

tk.Label(window, text='P', fg='red').pack(side='top') 2、pack(), 他会按照上下左右的方式排列.例如:side='top' side='bottom' side='left' side='right'tk.Label(window, text='Pl', font=('Arial', 20), ).place(x=50, y=100, anchor='nw')3、place(), 这个比较容易理解,就是给精确的坐标来定位,如此处给的(50, 100),就是将这个部件放在坐标为(x=50, y=100)的这个位置, 后面的参数 anchor='nw',就是前面所讲的锚定点是西北角。

结束语

Python的界面操作远不止这么多,它能帮我们实现强大的视觉效果,如果你遇到更好的功能,欢迎下方留言补充,程序因为分享而变得更加高效美丽!

———— e n d ————

f703738da97739127f7a00de16a4181e377ae272.jpeg?token=0a105dbaf5809fd0827ce7c27ee16a0e

觉得文章不错的,欢迎点在看和转发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值