Python3小试牛刀
来源:互联网 发布:欧陆风云4 dlc mac 编辑:程序博客网 时间:2024/05/29 15:08
今天开始正式接触Python,因此弄个窗体化程序来小试牛刀,之前我们学校也开设了Python课,但是当时我觉得Python缺点挺多的,例如移植性差,稳定性差等,再加上学校老师不负责任的教育方式以及当时盲目迷恋C++,导致我并没有重视Python这一门强大的语音,考试也是随随便便考了个70多分了事,直到现在才发现,原来PY的功能如此强大,特别是在人工智能、机器视觉等领域,在熟悉了一下它的基本语法之后就开始进行编程了,先上我的源代码,此源码参考了Tkinter的方法的使用
# -*- coding: UTF-8 -*-
import tkinter as tk
class Window(tk.Frame):
def __init__(self, master=None):#python里None为0#init为对象初始化函数
tk.Frame.__init__(self, master)#初始化对象
self.pack()#Widgets组件初始化
self.createWidgets()#创建Widgets组件
def createWidgets(self):
self.print = tk.Button(self)#创建按键
self.print["text"] = "按了之后打印字符"#按键文本
self.print["command"] = self.say_love#按键指令
self.print.pack(side="top")#按键显示位置#若没有则按默认排序
self.QUIT = tk.Button(self, text="债见不送", fg="red",
command=root.destroy)
self.QUIT.pack()
self.fuck = tk.Button(self,text="晓晓好萌",fg="blue")
self.fuck.pack()
def say_love(self):
print("晓晓4F5DA2")
root = tk.Tk()#对根窗口进行操作
app = Window()#(master=root)
app.mainloop()
运行结果如下
按下第一个按钮
程序大概的解释我已经标注出来了这里就不详细讲了,接下来讲我在编译过程中遇到的问题
1.关于pack()的用法
pack()方法是调用Widgets组件的方法
例如pack(side="top")则是把组件放在顶部
也可以直接使用pack()不使用形参
则是按默认方式排序(代码先后顺序)
如果加上形参side="top"则是放在最顶,side="bottom"则是放在最底
但是我把代码改成了如下,两个按钮都用了同一个形参会怎么样?
self.QUIT = tk.Button(self, text="债见不送", fg="red",
command=root.destroy)
self.QUIT.pack(side="bottom")
self.fuck = tk.Button(self,text="晓晓好萌",fg="blue")
self.fuck.pack(side="bottom")
运行结果如下
这下就有点反常理了对吧,这下它并不是按照代码先后顺序来排序了,而是有点像栈的排序,一个放在最下,第二个就只能放在次下了。
2.关于mainloop()//主循环
为了测试mainloop()的用法,我
在程序最后加上了
a=10
print(a)
运行结果如下
关掉窗口才出现print的10
然而我把app.mainloop()注释掉之后再运行发现
pirnt的10在窗口弹出之前出现了,这个跟C/C++的while(1)有点不一样
在下不才,如有错误,望大神指出
- Python3小试牛刀
- python3
- Python3
- python3
- Python3
- Python3
- Python3
- python3
- python3
- python3
- Python3
- python3
- python3
- Python3
- Python3
- python3
- Python3
- python3笔记
- 汪国新委员、郑桂兰董事长出席“同根同梦·2017全球华人春晚发布会”
- 数字三角形III
- 汪国新委员、郑桂兰董事长出席“同根同梦·2017全球华人春晚发布会”
- java spi示例
- Coursera机器学习 Week10 笔记
- Python3小试牛刀
- 对工程开发的一些心得
- 彩票问题总结
- 怎样写一个js插件
- JAVA实现LDAP连接验证
- jQuery选择器
- Quoit Design [散点中距离最近的两点距离][分治]
- lnmp安装mysql扩展库
- JVM内存模型