创建windows 窗口

 在开始创建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窗口的简单叙述,希望这能对你有帮助!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用VC6.0创建Windows窗口的步骤如下: 1. 创建一个新的Win32应用程序工程。 2. 在工程中添加一个新的源文件,用于存放窗口过程。 3. 在窗口过程中处理窗口消息。 4. 在WinMain函数中注册窗口类并创建窗口。 5. 在窗口过程中处理窗口消息。 下面是一个简单的示例代码: 1. 在VC6.0中创建一个新的Win32应用程序工程,命名为"WinApp"。 2. 添加一个新的源文件"WinApp.cpp"。 3. 在"WinApp.cpp"中编写窗口过程: ``` LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } ``` 4. 在WinMain函数中注册窗口类并创建窗口: ``` int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASS wc = { 0 }; wc.lpfnWndProc = WndProc; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszClassName = "WinAppClass"; if (!RegisterClass(&wc)) { MessageBox(NULL, "RegisterClass failed!", "Error", MB_OK); return 0; } HWND hWnd = CreateWindow("WinAppClass", "WinApp", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL); if (!hWnd) { MessageBox(NULL, "CreateWindow failed!", "Error", MB_OK); return 0; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); MSG msg = { 0 }; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; } ``` 5. 编译并运行程序,即可看到一个简单的窗口

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值