python做界面比较好的gui,python界面化系统设计

大家好,小编来为大家解答以下问题,python做界面比较好的gui,python界面化系统设计,今天让我们一起来看看吧!

简介

作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一。目前,市面上支持

Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个

新包并掌握其细节还是非常耗时的,因此,在选用工具包时应仔细权衡火车头采集文章批量伪原创【php源码】。本文将介绍

Python 自带的 GUI 工具包 TKinter。

TKinter

Python 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,二是自带库,不需下载

安装,随时使用,跨平台兼容性非常好,三则是从需求出发的,Python 在实际应用中极

少用于开发复杂的桌面应用,毕竟,Python 的各种 GUI 工具包都“一般得很”,不具备优

势。

关于 GUI,泛泛而谈难免枯燥,鉴于此,本文将基于一系列实例来介绍 Tkinter 控件。

窗口创建与布局

做界面,首先需要创建一个窗口,Python Tkinter 创建窗口很简单,代码如下:

from tkinter import *

#初始化Tk()

myWindow = Tk()

#进入消息循环

myWindow.mainloop()

上述程序创建的窗口是非常简陋的,有待进一步美化,设置标题、窗口大小、窗口是否

可变等,涉及属性有:title(设置窗口标题)、 geometry(设置窗口大小)、

resizable(设置窗口是否可以变化长 宽)。请看如下实例:

copycode.gif

from tkinter import Tk

#初始化Tk()

myWindow = Tk()

#设置标题

myWindow.title('Python GUI Learning')

#设置窗口大小

myWindow.geometry('380x300')

#设置窗口是否可变长、宽,True:可变,False:不可变

myWindow.resizable(width=False, height=True)

#进入消息循环

myWindow.mainloop()

copycode.gif

进一步,将窗口放置于屏幕中央,如下实例:

copycode.gif

from tkinter import Tk

#初始化Tk()

myWindow = Tk()

#设置标题

myWindow.title('Python GUI Learning')

#设置窗口大小

width = 380

height = 300

#获取屏幕尺寸以计算布局参数,使窗口居屏幕中央

screenwidth = myWindow.winfo_screenwidth()

screenheight = myWindow.winfo_screenheight()

alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)

myWindow.geometry(alignstr)

#设置窗口是否可变长、宽,True:可变,False:不可变

myWindow.resizable(width=False, height=True)

#进入消息循环

myWindow.mainloop()

copycode.gif

常用控件

仅有窗口并不能实现交互,还需要控件,Tkinter 提供了各种控件,如按钮、标签和文本

框。在一个 GUI 应用程序中使用,这些控件通常被称为控件或者部件,目前有15种

Tkinter 部件,如下列表:

1421031-20181015163828976-1464354755.png

几何管理

Tkinter 控件有特定的几何状态管理方法,管理整个控件区域组织,以下是 Tkinter 公开

的几何管理类:包、网格、位置。

1421031-20181015163918318-1851152297.png

Lable控件标签控件,基本用法为: Lable(root, option...) ,即:Label(根对象, [属性列表]),

其中属性列表如下:

1421031-20181015163950603-1557363500.png

Lable 控件实例

实例1:标签展示文本,代码如下:

copycode.gif

from tkinter import*

#初始化Tk()

myWin

猜你喜欢

转载自blog.csdn.net/chatgpt001/article/details/132712177
今日推荐