在开始创建Windows窗口前我们先来了解下tkinter库及一些简单组件

tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发。tkinter适合小型的GUl程序编写,也特别适合初学者学习GUl编程。

Labei标签

Label(标签)主要用于显示文本信息,也可以显示图像。

Button
Button(按钮)用来执行用户的单击操作。Button 可以包含文本,也可以包含图像。

Text 多行文本框
Text(多行文本框)的主要用于显示多行文本还可以显示网页链接, 图片, HTML 页面, 甚至 CSS 样式表,添加组件等

布局管理器
 tkinter 提供的布局管理器可以帮助我们组织、管理在父组件中子组件的布局方式。tkinter 提供了三种管理器:pack、grid、place。

#创建Windows窗口
#基本四要素:
import tkinter          #导入tkinter模板
root=tkinter.Tk()       #创建Windows窗口对象
root.title('我的第一个CUI程序')#设置窗口标题
root.mainloop()              #进入等待与处理窗口事件

接着我就详细介绍下tkinter 提供的三种管理器:pack、grid、place

import tkinter #导入tkinter
root=tkinter.Tk()               #给所建的窗口命名
root.geometry('300x200+300+300')#窗口的宽度x高度(x是小写的英文字母,不是*)
root.config(bg='#ccff00')       #窗口的背景颜色label=tkinter.Label(root,text='hello,python')#设置标签
label.pack()
button1=tkinter.Button(root,text='BUTTON1')#设置按钮1
button1.pack(side=tkinter.LEFT)#设置按钮的位置
button2=tkinter.Button(root,text='BUTTON2')#设置按钮2
button2.pack(side=tkinter.RIGHT)#设置按钮的位置root.mainloop()

pack 按照组件的创建顺序将子组件添加到父组件中,按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。pack是代码量最少,最简单的一种,可以用于快速生成界面 。

接下来我们来看下grid布局

from tkinter import*
root=Tk()
root.geometry('300x200+300+300')
root.config(bg='#ccff00')
root.title('计算机实例-2022110207004陈玉昆')#定义按钮
button1=Button(root,text='1',width=5,bg='#24cf00')
button2=Button(root,text='2',width=5,bg='#cc0023')
button3=Button(root,text='3',width=5,bg='#ab2523')
button4=Button(root,text='4',width=5,bg='#cfacbd')
button5=Button(root,text='5',width=5,bg='#18adaf')
button6=Button(root,text='6',width=5,bg='#00ffcc')
button7=Button(root,text='7',width=5,bg='#cc15ab')
button8=Button(root,text='8',width=5,bg='#bc15af')
button9=Button(root,text='9',width=5,bg='#20aeef')
button0=Button(root,text='0',width=5,bg='#abcd15')
button10=Button(root,text='.',width=5,bg='#af2513')#对按钮进行布局
button1.grid(row=0,column=0)
button2.grid(row=0,column=1)
button3.grid(row=0,column=2)
button4.grid(row=1,column=0)
button5.grid(row=1,column=1)
button6.grid(row=1,column=2)
button7.grid(row=2,column=0)
button8.grid(row=2,column=1)
button9.grid(row=2,column=2)
button0.grid(row=3,column=0,columnspan=2,sticky=E+W)
button10.grid(row=3,column=2,sticky=E+W)root.mainloop()

grid 表格布局,采用表格结构组织组件。子组件的位置由行和列的单元格来确定,并且可以跨行和跨列,从而实现复杂的布局。

最后是place布局

#palce布局
from tkinter import*
root=Tk()
root.title('登录')
root.geometry('400x200')
root.config(bg='#ffcc00')#定义标签和文本
label_1=Label(root,text='用户名',width=6)
entry_1=Entry(root,width=20)
label_2=Label(root,text='密码',width=6)
entry_2=Entry(root,width=20,show='*')
button_1=Button(root,text='登录',width=8)
button_2=Button(root,text='取消',width=8)#设置标签及按钮的位置
label_1.place(x=1,y=1)
entry_1.place(x=45,y=1)
label_2.place(x=1,y=20)
entry_2.place(x=45,y=20)
button_1.place(x=40,y=40)
button_2.place(x=110,y=40)root.mainloop()

place 布局管理器可以通过坐标精确控制组件的位置,适用于一些布局更加灵活的场景。

好了以上就是对创建windows窗口的简单叙述,希望这能对你有帮助!!

创建windows 窗口相关推荐

  1. 创建windows窗口并且获得窗口句柄

    创建windows窗口并且获得窗口句柄 代码 import win32gui from win32con import * import ctypes from ctypes import * def ...

  2. 【转】win32 的DLL中创建windows窗口

    转自:https://blog.51cto.com/wangyw/1071967 因工作需求,需要写一个DLL,并在其中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过都是基于MFC的 ...

  3. DirectX创建Windows窗口

    过程: WinMain 窗口类 -> 注册窗口类 创建窗口 -> 显示和更新窗口 消息循环 -> 窗口过程 #include <Windows.h>#define WIN ...

  4. C++创建windows窗口

    #include "stdafx.h" #include <windows.h> #include <tchar.h> //回调函数 LRESULT CAL ...

  5. 深入解析Windows窗口创建和消息分发

    Windows GUI采用基于事件驱动的编程模型,事实上几乎所有的界面库都是这样做的.在纯粹的Window32 SDK编程时代,人们还可以搞懂整个Windows窗体创建和消息的流通过程,但是在现在各种 ...

  6. Windows API 编程起始——创建一个窗口

    最初了解Windows api编程呢,就是先创建出一个最简洁的窗口,就如我们学习C/C++时的"Helloword"一样,这是进入windows编程大门的重要一个步,下面就开始吧. ...

  7. 【Windows编程】windows窗口创建过程详解

    文章目录 前言 1 应用程序的分类 2 应用程序分类的对比 3 编译工具 4 windows库文件和头文件 5 WinMain函数和MessageBox函数初始 6 窗口类 7 窗口类的分类 8 注册 ...

  8. python 隐藏进程_python在windows下创建隐藏窗口子进程的方法

    python在windows下创建隐藏窗口子进程的方法 发布于 2015-11-08 20:56:53 | 213 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一 ...

  9. Windows编程---使用C/C++语言创建一个窗口

    序言 记得刚学习C语言的时候,我还只能写出在"小黑框"里面运行的控制台程序.后来我了解到这种控制台程序属于命令行界面(CLI,Command-Line Interface),而我们 ...

最新文章

  1. 咏南LINUX中间件
  2. tf.clip_norm
  3. 刺激战场c语言,刺激战场:假车库、C字楼都是啥?学会吃鸡术语新手变大神!...
  4. Python数据类型-元组类型
  5. f分布表完整图_【教育统计答疑】如何理解正态分布、均值分布、^2分布、t分布和F分布...
  6. 腾讯帝国十八年,被它借鉴过的产品都有哪些?
  7. bzoj 3262: 陌上花开(cdq分治)
  8. 如何启动一个Vue3.x项目
  9. Linux 文件系统(二)---执行过程及结构间的关系
  10. FPGA 入门 (一)
  11. 电脑桌面有计算机和回收站怎么办,电脑回收站不见了怎么办 电脑回收站找回的4种方法...
  12. DFS/BFS+思维 HDOJ 5325 Crazy Bobo
  13. 交换机Access模式和Trunk模式配置演示
  14. 一个芯片工作的基本条件
  15. sklearn实战之逻辑回归与制作评分卡
  16. linux 中.a和.so的区别
  17. python虚拟环境管理器
  18. 总会计师是什么职务?
  19. 前端开发薪资之各地区对比(图文分析)(share)
  20. 两分钟学会Unity3D布娃娃的使用

热门文章

  1. 怎么编写一个chrome插件
  2. Windows文件资源管理器,搜索框的使用技巧
  3. css 文字溢出...显示,hover时显示隐藏文字
  4. C语言中出现UB现象 undefined behaviour.
  5. c语言课程设计之桌面日历(完整源码+注释)
  6. easyui-textbox
  7. 统计学发展过程中有哪些主要学派?其学术观点是什么?主要代表人物及其对统计学的贡献有哪些?
  8. Mysql和Navicat
  9. 开机出现“Disk I/O error”的故障解决
  10. 论文查重一般包括哪些部分呢?