1、创建root:

from tkinter import *

root = Tk()
root.title('GUI设计')
# root.attributes("-alpha", 0.3)窗口透明度70 %
# w, h = root.maxsize()
# root.geometry('%dx%d+%d+%d' % (1675, 976, -14/2, 0/2)) # 初始大小和屏幕位置
root.minsize(1024, 768) # 屏幕最小
# root.resizable(width=False, height=False) # 宽不可变 高bu可变 默认True # 使用attributes()方法
# root.attributes("-fullscreen", True) # 全屏显示 root.mainloop()

2、将整个画布涂灰:

这里我选择用一个Frame组件frm1进行覆盖。

frm1 = Frame(root, bg="#404040")
frm1.grid(sticky=W+E+N+S) root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)

如图:

3、再新建一个Frame组件frm2:

frm2为的,是将界面的小部件都放到其中,相当于一个容器。

frm2 = Frame(frm1, width=750, height=600)
frm2.grid(row=0, column=0)
frm2.grid_propagate(0) # 父部件大小与子部件大小无关

如图:

那得把frm2组件居中啊,可是如果输入sticky=CENTER程序就会报错,我们只能曲线救国了。

frm1.rowconfigure(0, weight=1)
frm1.columnconfigure(0, weight=1)

如图:

搞定,继续下一步吧。

4、从效果图看,我们还得将frm2分成3行2列:

一Label二Label三Button

    logo_photo = PhotoImage(file='logo.png')
Label(frm2,
# text="一站式自助服务系统",
justify=tkinter.CENTER,
image=logo_photo,
compound=tkinter.CENTER, # 关键:设置为背景图片
# bg="blue",
# font=("华文行楷", 30), # 字体和字号
# fg="white"
borderwidth=0,
).grid(row=0, column=0, columnspan=2) # 前景色
Label(frm2, height=6, text='一站式自助服务系统', font=('华文行楷', 30)).grid(row=1, column=0, columnspan=2) gh_photo = PhotoImage(file='guahao.png')
cx_photo = PhotoImage(file="chaxun.png")
Button(frm2, image=gh_photo, compound='top', text='当日挂号>', font=("华文楷书", 20), relief="ridge", borderwidth=12, width=128, height=102, bg="White", command=registerinterface).grid(row=2, column=0)
Button(frm2, image=cx_photo, compound='top', text='明细查询>', font=("华文中宋", 20), relief="ridge", borderwidth=12, width=128, height=102, bg='#D3D3D3', command=inquiryinterface).grid(row=2, column=1) # 按钮

如图:

5、再加个隐形的“退出”按钮吧:

因为在全屏状态下只能从任务管理器关闭略显麻烦。

    Button(frm2, width=8, height=2, text='EXIT', fg='white', borderwidth=0, command=root.destroy).grid(row=3, column=1, pady=114, sticky=E+S)

如图:

上图的“EXIT”只有在鼠标点击时才会出来呦~~

 

搞定,溜了溜了。

tkinter——GUI设计实操的更多相关文章

  1. 【实操日记】使用 PyQt5 设计下载远程服务器日志文件程序

    最近通过 PyQt5 设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享. PyQt5 是一套 Python 绑定 Digia Qt5 应用的框架,是最强大的 GUI ...

  2. tkinter的GUI设计:界面与逻辑分离(一)-- 初次见面

    PyQt实现界面与逻辑分离的设计很是方便,详情可以见我的第一篇博文. 不过本文将使用python的标准库 tkinter,来实现界面与逻辑分离的GUI 设计. 我们来设计一个很简单的程序: 目的:长度 ...

  3. kettle安装部署基本操作及实操文档

    一.kettle是什么? Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window. ...

  4. SBT实操指南

    参考资料:1.英文官方文档2.中文官方文档,内容翻译的不全 SBT是类似maven和gradle的自动构建和包依赖管理工具,SBT是Scala技术体系下的包管理工具,都是Lightbend公司开发的, ...

  5. linux基础实操四

    实操一: 1)为新加的硬盘分区,一个主分区大小为10剩余空间给扩展分区,在扩展分区上划分2个逻辑分别为5G 2)式化主分区为ext3系统 #mkfs.ext3 /dev/sdb1 3 将逻辑分区设置为 ...

  6. 南方IT学校期末PCB结课项目考试(实操)说明书

    南方IT学校期末结课项目考试(实操)说明书(一) 课程:<印制电路板设计技术>(二) 项目:笔记本电脑电源适配器的印制电路板设计(三) 背景说明:如今笔记本已经进入千家万户,作为给电脑充电 ...

  7. 【Social listening实操】作为一个合格的“增长黑客”,你还得重视外部数据的分析!

    本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 在本文中,作者引出了"外部数据"这一概 ...

  8. 动手实操:如何用 Python 实现人脸识别,证明这个杨幂是那个杨幂?

    当前,人脸识别应用于许多领域,如支付宝的用户认证,许多的能识别人心情的 AI,也就是人的面部表情,还有能分析人的年龄等等,而这里面有着许多的难度,在这里我想要分享的是一个利用七牛 SDK 简单的实现人 ...

  9. 第十章 Fisco Bcos 权限控制下的数据上链实操演练

    一.目的 前面已经完成fisco bcos 相关底层搭建.sdk使用.控制台.webase中间件平台等系列实战开发, 本次进行最后一个部分,体系化管理区块链底层,建立有序的底层控管制度,实现权限化管理 ...

随机推荐

  1. sql server 性能调优之 CPU消耗最大资源分析1 (自sqlserver服务启动以后)

    一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU,  内存,锁等,不管从哪个维度去解决,都能达到调优的效 ...

  2. Android--UI之ListView

    前言 今天讲解一下Android平台下ListView控件的开发,在本篇博客中,将介绍ListView的一些常用属性.方法及事件,还会讲解ListView在开发中常用的几种方式,以及使用不通用的适配器 ...

  3. Chapter 4 Invitations——3

    Edward was never surrounded by crowds of curious by standers eager for his firsthand account. Edward ...

  4. 前端测试框架Jest系列教程 -- Expect(验证)

    写在前面 在编写测试时,我们通常需要检查值是否满足某些条件,Jest中提供的expect允许你访问很多“Matchers”,这些“匹配器”允许您验证不同的东西. Expect 可以验证什么 Jest中 ...

  5. 日志切割工具logrotate解决Tomcat catalina.out日志过大的问题

    一.介绍日志切割logrotate 对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了 ...

  6. Python系列:四、Python函数--技术流ken

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  7. ife2018 零基础学院 day 4

    第四天,背景边框列表链接和更复杂的选择器 背景,边框,列表,链接相关属性 背景 MDN 背景 W3School 背景 元素的背景是指,在元素内容.内边距和边界下层的区域. 属性 描述 backgrou ...

  8. Linq中的Select与Select many

    Select与Select Many 之前在项目中查询数据库中的数据,都是通过sql语句来查询的,但是随着时代的发展,微软在.Net Framework 4.5版中推出的一个主要的特性——LINQ. ...

  9. ORACLE 配置连接远程数据库

    ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...

  10. Mysql与SQLserver区别

    1.为空 SQLserver用isnull Myserver用ifnull 2.全球唯一标识符 SQLserver用newid() Myserver用uuid() 3.以分隔符拼接字符串 concat ...