python Tkinter设计关于多个界面的linux切换python版本问题

python图形界面编程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
python图形界面编程
上传于||暂无简介
大小:3.71KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分50阅读权限10帖子精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
白手起家, 积分 50, 距离下一级还需 150 积分
帖子主题精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
论坛徽章:0
我在用python32 tkinter做一个简单的button 目的是退出界面
from tkinter import *
root = Tk()& &
Button(root, text='Quit', command=root.quit).pack()
root.mainloop()
大概就这样简单的代码
可是在dos或者在idel下运行都会报错或者不能正常运行
dos下的报错是下图
21:46 上传
在idel下点击的话就卡死住了
大家知道这是什么原因嘛?请各位大侠指教!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分1330阅读权限30帖子精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
家境小康, 积分 1330, 距离下一级还需 670 积分
帖子主题精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
论坛徽章:0
我机器上只有2.6.5的,在命令行下试了运行没问题啊。
idle里运行是会卡住,不知道是不是这两者的事件循环冲突了,idle是用tkinter写的。
UID空间积分0 积分50阅读权限10帖子精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
白手起家, 积分 50, 距离下一级还需 150 积分
帖子主题精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
论坛徽章:0
askandstudy
& & 有道理,不过我用3.2版本的 直接运行也会出现问题,搞得界面不敢有退出按钮 只能直接右上角红X关掉程序
UID空间积分0 积分1330阅读权限30帖子精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
家境小康, 积分 1330, 距离下一级还需 670 积分
帖子主题精华可用积分1330 信誉积分158 专家积分0 在线时间320 小时注册时间最后登录
论坛徽章:0
那挺奇怪的可能不是那个原因,等以后用3.2的我再试试看
UID空间积分0 积分50阅读权限10帖子精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
白手起家, 积分 50, 距离下一级还需 150 积分
帖子主题精华可用积分52 信誉积分41 专家积分0 在线时间16 小时注册时间最后登录
论坛徽章:0
askandstudy
quit 依然还是会出问题 后来改用destroy就可以了~~~为Python程序添加图形化界面的教程
作者:廖雪峰
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了为Python程序添加图形化界面的教程,图形化界面编程是开发Python本地应用的必备,需要的朋友可以参考下
Python支持多种图形界面的第三方库,包括:
&&& wxWidgets
但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。本章简单介绍如何使用Tkinter进行GUI编程。
我们来梳理一下概念:
我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;
Tk是一个图形库,支持多个操作系统,使用Tcl语言开发;
Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。
所以,我们的代码只需要调用Tkinter提供的接口就可以了。
第一个GUI程序
使用Tkinter十分简单,我们来编写一个GUI版本的“Hello, world!”。
第一步是导入Tkinter包的所有内容:
from Tkinter import *
第二步是从Frame派生一个Application类,这是所有Widget的父容器:
class Application(Frame):
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()可以实现更复杂的布局。
在createWidgets()方法中,我们创建一个Label和一个Button,当Button被点击时,触发self.quit()使程序退出。
第三步,实例化Application,并启动消息循环:
app = Application()
# 设置窗口标题:
app.master.title('Hello World')
# 主消息循环:
app.mainloop()
GUI程序的主线程负责监听来自操作系统的消息,并依次处理每一条消息。因此,如果消息处理非常耗时,就需要在新线程中处理。
运行这个GUI程序,可以看到下面的窗口:
点击“Quit”按钮或者窗口的“x”结束程序。
我们再对这个GUI程序改进一下,加入一个文本框,让用户可以输入文本,然后点按钮后,弹出消息对话框。
from Tkinter import *
import tkMessageBox
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
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'
tkMessageBox.showinfo('Message', 'Hello, %s' % name)
当用户点击按钮时,触发hello(),通过self.nameInput.get()获得用户输入的文本后,使用tkMessageBox.showinfo()可以弹出消息对话框。
程序运行结果如下:
Python内置的Tkinter可以满足基本的GUI程序的要求,如果是非常复杂的GUI程序,建议用操作系统原生支持的语言和库来编写。
源码参考:/michaelliao/learn-python/tree/master/gui
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具本文实例展示了一个python的tkinter布局的简单聊天窗口。分享给大家供大家参考之用。具体方法如下:
该实例展示的是一个简单的聊天窗口,可以实现下方输入聊天内容,点击发送,可以增加到上方聊天记录列表中。现在只是“单机”版。 右侧预留了空位可以放点儿其它东西。感兴趣的读者可以进一步做成socket双方互聊。
以下是功能代码部分:
from Tkinter import *
import datetime
import time
root = Tk()
root.title(unicode('与xxx聊天中','eucgb2312_cn'))
#发送按钮事件
def sendmessage():
#在聊天内容上方加一行 显示发送人及发送时间
msgcontent = unicode('我:','eucgb2312_cn') + time.strftime(&%Y-%m-%d %H:%M:%S&,time.localtime()) + '\n '
text_msglist.insert(END, msgcontent, 'green')
text_msglist.insert(END, text_msg.get('0.0', END))
text_msg.delete('0.0', END)
#创建几个frame作为容器
frame_left_top
= Frame(width=380, height=270, bg='white')
frame_left_center
= Frame(width=380, height=100, bg='white')
frame_left_bottom
= Frame(width=380, height=20)
frame_right
= Frame(width=170, height=400, bg='white')
##创建需要的几个元素
text_msglist
= Text(frame_left_top)
= Text(frame_left_center);
button_sendmsg
= Button(frame_left_bottom, text=unicode('发送','eucgb2312_cn'), command=sendmessage)
#创建一个绿色的tag
text_msglist.tag_config('green', foreground='#008B00')
#使用grid设置各个容器位置
frame_left_top.grid(row=0, column=0, padx=2, pady=5)
frame_left_center.grid(row=1, column=0, padx=2, pady=5)
frame_left_bottom.grid(row=2, column=0)
frame_right.grid(row=0, column=1, rowspan=3, padx=4, pady=5)
frame_left_top.grid_propagate(0)
frame_left_center.grid_propagate(0)
frame_left_bottom.grid_propagate(0)
#把元素填充进frame
text_msglist.grid()
text_msg.grid()
button_sendmsg.grid(sticky=E)
#主事件循环
root.mainloop()
以下是运行截图:
希望本文所述对大家的Python程序设计有所帮助
本文实例展示了Python Tkinter实现简单布局的方法,示例中备有较为详尽的注释,便于读者理解。分享给大家供大家参考之用。具体如下:
# -*- coding: utf-8 -*- from Tkinter import * root = Tk() # 80x80代表了初始化时主窗口的大小,0,0代表了初始化时窗口所在的位置 root.geometry('80x80+10+10') #
本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。 这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没
找到答案,最后没办法,看它的文档,用自己的方法实现了。 方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。 以下是代码:
#! /usr/bin/python
本文实例讲述了python实现根据窗口标题调用窗口的方法。分享给大家供大家参考。具体分析如下: 当你知道一个windows窗口的标题后,可以用下面的代码调用窗口,甚至向窗口内写入内容。
#-*-coding:utf-8-*- import win32gui,win32con #下面的是窗口的标题名称,这样是一定错的,但在控制台就可以正常使用 #写在文件里要用U编码 a=u&jb51.
本文实例讲述了Python实现简单状态框架的方法。分享给大家供大家参考。具体分析如下: 这里使用Python实现一个简单的状态框架,代码需要在python3.2环境下运行
from time import sleep
from random import randint, shuffle
class StateMachine(object):
本文实例讲述了Python实现遍历windows所有窗口并输出窗口标题的方法。分享给大家供大家参考。具体如下: 这段代码可以让Python遍历当前Windows下所有运行程序的窗口,并获得运行窗口的标题输出
#! /usr/bin/env python # -*- coding: utf-8 -*- from win32gui import * titles = set() def foo(h
本文实例讲述了python实现简单温度转换的方法。分享给大家供大家参考。具体分析如下: 这是一段简单的python代码,用户转换不同单位的温度,适合初学者参考
def c2f(t):
return (t*9/5.0)+32
def c2k(t):
return t+273.15
一、Tkinter介绍 Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口。Tkinter不是唯一的python图形编程接口,但是是其中比较流行的一个。最大的特点是跨平台,缺点是性能不太好,执行速度慢。 一般使用Tkinter的方法是: From Tkinter import * 或者: import Tkinter 两者的区别我们前面讲模块的时候
import time import tkinter as tk
class Window:
def __init__(self, title='nms', width=300, height=120, staFunc=bool, stoFunc=bool): &nbsp
本文实例讲述了Python单链表的简单实现方法,分享给大家供大家参考。具体方法如下: 通常来说,要定义一个单链表,首先定义链表元素:Element.它包含3个字段: list:标识自己属于哪一个list datum:改元素的value next:下一个节点的位置 具体实现代码如下:
class LinkedList(object): class Element(object): def __i
一、安装tkinter 在Linux中python默认是不安装Tkinter模块,
[root@li250-193 ~]# python
Python 2.6.6 (r266:84292, Feb 22 :18)
[GCC 4.4.7
(Red Hat 4.4.7-3)] on linux2
Type &help&qu
第一种方法:预览:
&html& &head& &title&浮动窗口&/title& &link type=&text/css& rel=&stylesheet& href=&css/overflow.css& /& &scrip
本文实例展示了Python Tkinter基础控件的用法,分享给大家供大家参考之用。具体方法如下:
# -*- coding: utf-8 -*- from Tkinter import * def btn_click(): b2['text'] = 'clicked' evalue = e.get() print 'btn Click and Entry value is %s' % eva
本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。
#tcp server
import socket
host = '127.0.0.1' #Local
在第N(N&1)层的模态页面中,如果想链接到其他页面或者刷新当前页,只能用 window.name = &__self&; window.open(window.location.href, &__self&) //注意是2个下划线 替换 location.href
当需要关闭第N(N&1)层的模态窗口,并刷新第N-1层的模态页面时, 为防止刷
Android开发之图片处理专题(二):利用AsyncTask和回调接口实现图片的异步加载和压缩
在上一篇专题Android开发之图片处理专题(一):利用软引用构建图片高速缓存中我们讲述了如何利用软引用技术构建高速缓存。那么想要用到图片,首先得有图片的来源。一般而言,一个应用的图片资源都是从服务器处获得的。今天,我们利用Android开发之网络请求通信专题(二):基于HttpClient的文件上
注释部分为广告的左右调节,可以自行设定
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &html xmlns=&
很多开发人员在刚开始学Python 时,都考虑过像 c++ 那样来实现 singleton 模式,但后来会发现 c++ 是 c++,Python 是 Python,不能简单的进行模仿。 Python 中常见的方法是借助 global 变量,或者 class 变量来实现单件。本文就介绍以decorator来实现 singleton 模式的方法。示例代码如下:
##---------------
本文实例讲述了python实现简单socket程序在两台电脑之间传输消息的方法。分享给大家供大家参考。具体分析如下: python开发简单socket程序在两台电脑之间传输消息,分为客户端和服务端,分别在两台电脑上运行后即可进行简单的消息传输,也可以在一台电脑上测试,设置两个不同的端口即可。
# Save as server.py 服务端代码 # Message Receiver import
Android——(仿微信聊天界面布局实例)
今天看郭霖《第一行代码》书上写了一个聊天窗体的小例子,自己就练习学了一下。加上一些自己的理解整理了一下。
1.第一步首先是制作9.p
先上图,最终效果如下
点击“信息确认”
就是弹出一个确认窗口,把已经填报的信息都放到里面看看。 信息放里面很简答,主要是弹出窗口要做得好看点。 所以选择了jQuery+jqmodal实现 实现方法如下1、页面中引用jquery-1.4.2.js和jqModal.js,注意jQuery要在前面,因为jqmodal是以jQuery为基础的。 2、建立jqModal.css,
采用python实现简单QQ单用户机器人的方法如下: 一、首先我们查看一下关于3GQQ的相关协议:
对此,打开一个支持WAP的浏览器,可以使用Firefox的wmlbrowser插件,打开FF后,访问地址 https://addons.mozilla.org/zh-CN/firefox/search/?q=wmlbrowser&cat=all&
本文实例讲述了python实现简单的TCP代理服务器的方法,分享给大家供大家参考。 具体实现代码如下:
# -*- coding: utf-8 -*- ''' filename:rtcp.py @desc: 利用python的socket端口转发,用于远程维护 如果连接不到远程,会sleep 36s,最多尝试200(即两小时) @usage: ./rtcp.py stream1 stream2
效果如图:
代码如下:
&html& &head& &title&悬浮窗口示例&/title& &script type=&text/javascript&& window.onscroll = function () { var div = document.getElementById(&divS
本文实例讲述了python实现简单的计时器功能函数。分享给大家供大家参考。具体如下: 此函数通过python实现了一个简单的计时器动能:
''' Simple Timing Function. This function prints out a message with the elapsed time from the previous call. It works with most P
这个布局是怎么实现的 用了些什么控件。分隔线,商品名,图片,hot标志分别用的是什么控件,怎么布局的
------解决思路---------------------- 使用eclipse中的DDMS/Devices工具,点击 这个图标就可以查看是怎么布局的了,所有的应用都可以这样来查看。
本文实例讲述了Python基于twisted实现简单的web服务器,分享给大家供大家参考。具体方法如下: 1. 新建htm文件夹,在这个文件夹中放入显示的网页文件 2. 在htm文件夹的同级目录下,建立web.py,web.py的内容为:
from twisted.web.resource import Resource from twisted.web import server from
使用Nodejs是如此简单的实现了一个简单的聊天服务器 实现代码如下:
var net = require('net'); var chatServer = net.createServer(),clientList = []; chatServer.on(&connection&,function(client){ client.name = client.remoteA
本文较为详细的讲述了Python实现远程调用MetaSploit的方法,对Python的学习来说有很好的参考价值。具体实现方法如下: (1)安装Python的msgpack类库,MSF官方文档中的数据序列化标准就是参照msgpack。
root@kali:~# apt-get install python-setuptools root@kali:~# easy_install msgpac
利用这个小游戏可以学习一下ython3.3中tkinter的使用方法
# -*- coding: utf-8 -*- import tkinter as tk import sys import random import re
number = random.randint(0,1024)running = Truenum = 0nmaxn = 1024nminn = 0
以下是通过php的socket扩展模块实现的一个简单的消息处理服务器端:绑定在一个本机的端口,监听客户端的连接,接收数据并转发给发送者之外的所有客户端socket_server.php
#!/usr/bin/env php &?php //author:zhxia if(!extension_loaded('sockets')){
本文实例讲述了python根据出生年份简单计算生肖的方法。分享给大家供大家参考。具体分析如下: 这里使用python根据出生年份计算生肖,看了代码会发现原来这么简单
#计算生肖 def ChineseZodiac(year): return u'猴鸡狗猪鼠牛虎兔龙蛇马羊'[year%12] ChineseZodiac(1990)
希望本文所述对大家的Python程序设计有所帮助。
JavaScript实现弹出窗口实质上就是在浏览器上画了一个方形区域,并在开始时将其隐藏,只是到某个JavaScript事件时才通过修改css的属性值来将其显示出来。 其大致步骤为: o创建一个装载弹出窗口的div
&title&jQuery实例1:浮动窗口&lt
本文实例讲述了Python实现CET查分的方法。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, urllib2
def CetQuery(band, exam_id):
&&&CETQuery ver
Android提供的系统服务之--WindowManager(窗口管理服务)
Android提供的系统服务之--WindowManager(窗口管理服务)
本文实例讲述了python实现调用其他python脚本的方法,分享给大家供大家参考。具体方法如下: 该实例调用当前目录下的md5get.py脚本。代码如下:
import os import logging import subprocess log = logging.getLogger(&Core.Analysis.Processing&) INTERPRETER =
  Masonry 是一款 JavaScript 网格布局插件,可以实现类似 Pinterest 模式的砌体布局效果。通过把元素自动填充在垂直的空白区域,就像墙上堆砌的石头一样。这个库还可以作为 jQuery 插件使用,帮助你轻松实现这种效果。
  在使用的时候,HTML代码很简单:
&div id=&container&& &
本文实例讲述了Python怎么实现无限元素列表的方法,具体实现可使用Yield来完成。 下面所述的2段实例代码通过Python Yield 生成器实现了简单的无限元素列表。 1.递增无限列表 具体代码如下:
def increment(): i = 0 while True: yield i i += 1 for j in increment(): print i if (j & 10)
主要层左右居中,设置left等于窗口宽除二减去自身层宽除二就居中了,至于窗口上下居中我没做到,固定了top等于滚动条隐去的 scrollTop加上50
当事件触发这个类时,首先判断一下两个层是否已经append到body里面,否则每次触发它就一直增加增加了。设置了五个参数title、 content、width、height、cssName,它们分别定义了层标题、层内内容、层宽、层高、层内
本文以实例形式展示了Python算法中栈(stack)的实现,对于学习数据结构域算法有一定的参考借鉴价值。具体内容如下: 1.栈stack通常的操作: Stack() 建立一个空的栈对象 push() 把一个元素添加到栈的最顶层 pop() 删除栈最顶层的元素,并返回这个元素 peek() 返回最顶层的元素,并不删除它 isEmpty() 判断栈是否为空 size()&nb
近来有些东西需要监控报警发邮件,然后在网上找了点材料,自己写了一个简单发送邮件的脚本,主要就是运用python的smtplib模块,分享给大家看一下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#导入smtplib和MIMEText
import smtplib,sys
from email.mime.text im}

我要回帖

更多关于 linux切换python版本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信