专栏首页算法与编程之美Python|GUI编程的基础讲解

Python|GUI编程的基础讲解

一、前言

学python的各位可能对于python只能在终端里输入输出感觉有些无聊吧!其实在python GUI编程(图形用户界面编程)里可以实现将程序窗口化,可以引入tkinter模块,自己电脑上没有的话用pip安装即可。本篇文章小编就分享一些python GUI编程的基础,后续还会更新一些更深层次的技巧。

二、基础属性

首先,先了解如何创建一个窗口并将其输出出来;

from tkinter import *

window = Tk() #创建一个空窗口

window.mainloop() #让空窗口显示出来

通过上述代码,可以得到一个空窗口:

图1 空窗口

可以手动为窗口添加属性,最基本的几种属性如下:

title()括号里面参数为代表窗口名称的字符串;

resizable(x,y) 窗口可以在x和y轴上可变化的调度;

geometry('250x150')指定窗口的大小,参数为一个字符串,一般由两个数字和一个小写字母x组成。

对刚刚的窗口添加属性:

from tkinter import *

window = Tk()

window.title('我爱python')window.geometry('380x420')window.resizable(50,50)

window.mainloop() 

图2 插入属性后

三、基本组件

创建了一个空窗口,便可以向上面添加内容,这些内容就是窗口的组件,这些组件会在窗口里形成文字、按钮、表单、图片等等。常见的组件如下:

Button   按钮;

Canvas   绘图形组件,可以在其中绘制图形;

Checkbutton 复选框;

Entry    文本框(单行);

Text 文本框(多行);

Frame   框架,将几个组件组成一组

Label    标签,可以显示文字或图片;

Listbox    列表框;

Menu    菜单;

Menubutton 它的功能完全可以使用Menu替代;

Message 与Label组件类似,但是可以根据自身大小将文本换行;

Radiobutton 单选框;

Scale    滑块;允许通过滑块来设置一数字值 Scrollbar 滚动条;配合使用canvas, entry, listbox, and text窗口部件的标准滚动条;

Toplevel 用来创建子窗口窗口组件。

每个组件都有自己独特的参数,下次再做详细讲解。先讲一下组件大体使用的规则,每一个组件都可以用一个相应的变量来储存,想在一个窗口里面插入一串文字和一个按钮,该怎么做呢?

from tkinter import *

window = Tk()

window.title('我爱python')

window.geometry('380x420')

window.resizable(50,50)

#窗口创建好后即可开始添加组件

Lal = Label(window, text='你喜欢python吗?', font=('微软雅黑', 15), fg='red')

Lal.pack()#pack是一种组件布局函数,以后会详细介绍

But = Button(window, text="喜欢")But.pack()

 

window.mainloop()

图3 效果图

四、写在最后

笔者也是一个在校大学生,可能写的介绍会有一些不足,欢迎大家提议,关于python GUI编程的基础先介绍到这里,下周给各位读者带来组件的详细使用方法。

END

主 编 | 王文星

责 编 | 刘仕豪

where2go 团队

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:刘仕豪

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信小程序|API音频与视频组件的插入使用

    1、音频组件控制 首先在微信小程序中插入音频组件需首先引入一个audioContext对象,之后再通过 audioId 跟一个audio组件绑定,通过它可以操作...

    算法与编程之美
  • JavaScript|jQuery基础语法

    jQuery 是一个 JavaScript 库,它极大地简化了 JavaScript 编程。jQuery是一个轻量级的"写的少,做的多"的JavaScript库...

    算法与编程之美
  • JS|JavaScript脚本也可固定位置

    “如果不改变<script>标签的位置,如何固定JS的脚本呢”,当我们在网页中写入JavaScript代码时,如果我们每次都必须在其他标签之后嵌入JavaScr...

    算法与编程之美
  • GUI编程基础知识点总结

    学 python的各位可能对于python只能在终端里输入输出感觉有些无聊吧!其实在python GUI 编程(图形用户界面编程)里可以实现将程序窗口化,可以引...

    小小科
  • 高级 Vue 技巧:控制父类的 slot

    最近一位同事问我这个问题,答案很简单:可以的。但我的解决方案可能和你想的完全不一样,这是涉及一个棘手的Vue架构问题,但也是一个非常有趣的问题。

    前端小智@大迁世界
  • 在 Vue 中,如何从插槽中发出数据

    代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

    前端小智@大迁世界
  • CodeIgniter自学之旅-入门与简单应用

    由于最近被 StartBBS吸引,但其简单的编辑器用起来不太爽,想换成富文本的,但无php经验,故只能先自学相关内容。

    汐楓
  • 扩展 Vue 组件

    你是否在开发基于 Vue 的 app 时使用过具有相同属性甚至具有相同的 template 结构的组件?

    疯狂的技术宅
  • 一种用markdown写PPT的方法,再也不用费劲排版了

    今天看jeremyxu 的技术点滴,发现分享了一个 markdown 写 PPT 的插件,惊为天人,先来看看官方效果图。

    机智的程序员小熊
  • 互联网厂工必知必会:SQL基础篇

    来源 | 《SQL 基础教程》 PostgreSQL 的安装和连接设置 那么就让我们赶快按照下面的步骤来安装 PostgreSQL 吧。 01 安装步骤 ①...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券