ATP和GUI progamming

仍然说在前面

变成了大学狗的ATP想要干出一点不一样的事情出来

于是它开始漫无目的地到处找好玩的事情干

突然它想到以前programming的时候都是用控制台的,那那些带按钮的小窗口是咋弄出来的呢?

于是它知道了有“GUI编程”这样的一个东西

似乎用python会很方便?

于是ATP就开始倒腾这个东西了!

(话说,前面那篇python入门是不是被弃坑了?——ATP:是的。。。吧)

前置:使用Tkinter

GUI编程需要使用Tkinter模块

现在最新的python3.几版本自带Tkinter这个模块,所以不用另外安装。

那为啥ATP要突然说起来这个事情呢。。。是因为ATP在倒腾这个东西时候的悲惨经历

上面这个图片是验证你是不是正确安装了Tkinter模块做的测试

当ATP输入Tkinter(强调:首字母大写)的时候它下面显示了traceback,说明它没有找到Tkinter这个模块

那该怎么办呢?应该把首字母改成小写!(感觉ATP的博客写到现在都有一种蠢炸了的感觉)

但是还有一个问题,一开始的时候ATP不管大写还是小写它都显示traceback

ATP就感觉很方:难道它的python没有给它自带Tkinter吗?然后ATP就上网搜索:Tkinter安装

然后ATP找到了这样一个网站:

ATP:??????????真当我英语那么好吗????

ATP为了成功安装Tkinter尝试了三天,最后ATP终于找到了一个可行的解决方法:把Python装到C盘上

是的!!!ATP一开始为了给C盘节省空间把Python装在了D盘上,但是它好像有一些东西是默认在C盘上操作的,所以就导致了很麻烦的问题

前车之鉴,希望给和ATP一样蠢炸了的同胞们一点点帮助_(:з」∠)_

第一步

ATP一开始看到了这个网站:http://www.runoob.com/python/python-gui-tkinter.html

然后ATP就开始照葫芦画瓢

先输入这么一段:

# -*- coding: UTF-8 -*-
 
import tkinter
top = tkinter.Tk()
top.mainloop()

运行以后就出来了一个这个!

如果输入这么一段:

# -*- coding: UTF-8 -*-

import tkinter
top = tkinter.Tk()

a = ['ga','gaga','gagaga']
b = ['ka','kaka','kakaka']
alist = tkinter.Listbox(top)
blist = tkinter.Listbox(top)

for item in a:
    alist.insert(0,item)
for item in b:
    blist.insert(0,item)

alist.pack()
blist.pack()
top.mainloop()

运行以后就出来一个这个:

Tkinter里面常用的命令

通过比较上面两段代码我们大致可以得出这样的结论:

  • Tk()是Tkinter模块里面的一个函数,作用是创建一个“窗口”。
  • Listbox()也是Tkinter模块里的函数,作用是创建一个小组件,这个小组件本身以一个列表的形式存在,所以它可以进行python里面列表相关的操作(比如上面的insert,实际上是每次从a列表里面拿出一个元素插入到alist的第一个元素。blist同理)。
  • pack()是对列表本身的操作,目的是把这个列表放到刚才创建的“窗口”中。
  • mainloop()是用来显示当前编辑的窗口。

接下来介绍ATP学到的另外一些常见的命令:

  • title():用来改变窗口的名称
    用法:在mainloop之前加上
top.title("Hello world!")
  • geometry():设置窗口大小
    用法:在mainloop之前加上
top.geometry('200x100')

一个很有意思的设定是里面是小写字母【x】而不是乘号【*】

200*100的大小有多大呢。。ATP找了电脑管家的那个赖在桌面上不走的东西来做个参照物

  • resizable():设置窗口的长宽能否调整
    用法:加上这个
top.resizable(width = False, height = False)

False表示不可调整,True表示可调整;width是宽,height是高

其实ATP总觉得不能随意调整窗口大小是一个很GG的设定

【更新中。。。。】

参考网站

http://www.runoob.com/python/python-gui-tkinter.html

https://www.cnblogs.com/kaituorensheng/p/3287652.html

猜你喜欢

转载自www.cnblogs.com/FromATP/p/9700326.html
GUI