【Python】图形界面
# 【【图形界面】】
'''
Python支持多种图形界面的第三方库,包括
Tk
wxWidgets
Qt
GTK
但是Python自带的库是支持Tk的Tkinter,无需安装任何包,可直接使用。
''' #【Tkinter】
'''
我们来梳理一下概念: 我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。 所以,我们的代码只需要调用Tkinter提供的接口就可以了。
''' from tkinter import *
#从Frame派生一个Application 类,这是所有Widget的父容器
class Application(Widget):
#master,在Tkinter中,一个控件可能属于另一个控件,这时另一个控件就是这个控件的master。默认一个窗口没有master,因此master有None的默认值。
def __init__(self,master = None):
Frame.__init__(self,master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.helloLabel = Label(self,text='hello,world')
self.helloLabel.pack()
self.quitButton = Button(self,text='Quit',command = self.quit())
self.quitButton.pack()
'''
在GUI中,每个Button Label 输入框等,都是一个Widget..Frame则是可以容纳其他Widget 的Widget .所有Widget组合起来就是一棵树
pack() 是把Widget放入父容器,并实现布局。pack()是最简单的布局,grid()可以实现更复杂的布局。
'''
#第三步 实例化Application 并启动消息循环
app = Application()
#设置窗口标题
#app.master是返回当前顶层窗口的对象,然后再调用title这个方法设置title,master=None只是表明app是顶层窗口而已。
app.master.title('Hello python')
# 实例户
#主消息循环
#app.mainloop() # 输入文本
from tkinter import *
import tkinter.messagebox as messagebox class Application(Frame):
def __init__(self,master = None):
Frame.__init__(self,master = None)
self.pack()
self.createWidgets()
def createWidgets(self):
self.nameInput = Entry(self)
self.nameInput.pack()
self.alertButton = Button(self,text = 'Hello',command = self.hello)
self.alertButton.pack()
def hello(self):
name = self.nameInput.get() or 'world'
messagebox.showinfo('Message',"hello %s" % name)
app = Application()
#设置窗口标题
app.master.title('Hello world')
#主消息循环
#app.mainloop()
【Python】图形界面的更多相关文章
- python图形界面(GUI)设计
不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...
- Python 图形界面(GUI)设计
不要问我为什么要用 Python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,Python 图形界面有以下几个可行度比较高的解决方案. 1. py ...
- python 图形界面开发
用python来开发图形界面,确实不是很方便,没有c#,Java,甚至VB来得容易.几个控件拖拽,然后响应事件. 用python写脚本,或者web service来处理一般工作,绰绰有余.但有的时候, ...
- Python图形界面Tk
最近在学习Python,在使用Tkinter做图形界面时遇到了几个小问题,网上查了一下,在Python2.x导入的是Tkinter,Python3则是tkinter.而且导入的simpledialog ...
- 使用PyQt进行Python图形界面程序开发文章目录
☞ ░ 前往老猿Python博文目录 ░ PyQt入门知识原来是作为老猿Python<Python基础教程目录>后的进阶学习章节存在,最近不少专栏作者提醒老猿整体的博文内容不错,但博文没有 ...
- 第十五章 使用PyQt进行Python图形界面程序开发
在基础知识部分的最后一章<第十三章 Python基础篇结束章>的<第13.3节 图形界面开发tkinter>简单介绍了Python内置图形界面标准库tkinter,当时特别强调 ...
- Python图形界面开发编程:wxPython(浅尝篇)
Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 ...
- Python图形界面开发—wxPython库的布局管理及页面切换
前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界面布局是很重要的一个部分,合理的页面布局能够给予用户良好使用体验.虽然 ...
- 【情人节选帽子】TCS34725颜色传感器和Python图形界面编程(STM32 HAL库)
截图 描述: l STM32 HAL库编程 l 使用模拟IIC通信,方便程序移植 l Python界面编写,蘑菇头的帽子是什么颜色 l STM32 HAL库串口通信 l Python界面使用 ...
- python 图形界面
Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用. Tk是一个图形库,支持多个操作系统 导入Tkinter包的所有内容: from tkinter i ...
随机推荐
- leaflet:调用arcgis切片地图服务
var mymap = L.map('mapid').setView([31.59, 120.29], 7); L.tileLayer('http://map.geoq.cn/ArcGIS/rest/ ...
- calendar 模块
calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法 注:星期一是默认的每周第一天,星期天是默认的最后一天.更改设置需调用calendar.setfirstweekday() ...
- socket.io不为人知的功能
socket.io 是一个基于websocket实现的前后端实时通讯框架,也对低版本浏览器做了封装.使用起来简单,方便. 初次使用起来可能会比较迷糊,其实主要常用就几个方法,简单介绍一下. //客户端 ...
- Java 多线程并发编程面试笔录一览
知识体系图: 1.线程是什么? 线程是进程中独立运行的子任务. 2.创建线程的方式 方式一:将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法 方式二:声明实现 Runn ...
- 自定义schema 流程
参考 https://www.cnblogs.com/googlemeoften/p/5746684.html
- QQ项目(续)
1.项目查找好友的原理 sql:select * from qquser where account in(select friendAccount from friend where userAcc ...
- pyqt5界面切换
#主要的思路就是创建两个frame(如果有两个以上同理)使用setVisible()函数显示或者隐藏frame 参数是bool值import sys from PyQt5.QtWidgets impo ...
- Prometheus监控学习笔记之prometheus的远端存储
0x00 概述 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter.所以采用prometheus作为整个集 ...
- Program terminated with signal 6, Aborted,有可能啥原因呢?
Program terminated with signal 6, Aborted,有可能啥原因呢?其中一种原因就是事实上的OOM(虽然/var/log/message中没有标明操作系统kill了进行 ...
- Debian\CentOS Linux配置管理
CentOS 6 安装 gcc-4.8 以支持 C++11 1.下载 repo 文件 wget http://people.centos.org/tru/devtools-2/devtools-2.r ...