用python的python tkinter frame开发界面 能不能加入声音

&&&&tkinter用户界面开发
tkinter用户界面开发
tkinter,Tkinter教程 ,10 全部使用结构化编程(SP),没有面向对象的概念(OO);
嵌到我的页面
<input type="text" readonly="true" value="">
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行新手园地& & & 硬件问题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活动专区& & & 拍卖交流区频道交流区
使用VB拖放控件设计tkinter的界面
UID空间积分0 积分1207阅读权限30帖子精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
家境小康, 积分 1207, 距离下一级还需 793 积分
帖子主题精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
论坛徽章:0
本帖最后由 cdhigh 于
06:24 编辑
[]更新到1.5.1,
[]更新一个小小升级,v1.4.6,主要是可以在VB中拖动鼠标设定窗体在屏幕上的初始位置。
[]更新1.4.5。
[]升级V1.4.4,完善一些小特性和修改一些BUG,应该够用了。
[]很多网友都在使用windows7了,VB6在windows7下有一定的兼容性问题,为此,我找到一个牛人修改的VB6.EXE补丁,在windows7完美使用VB6,不漂不卡。
[]升级V1.4.1,增加滚动条自动关联,在Listbox/Text/Treeview/Canvas右边或下边紧靠着放置合适长度的滚动条后自动关联,不需要再手工选择。
[]根据ld2759反馈:6M精简版,需要COMMTB32.DLL这个文件,工具栏上才有显示。
[]重要更新v1.4版本支持在VB6绿色精简版中使用!(建议使用12M的VB6精简版,6M精简版的VisualTkinter工具栏图标显示不出来,但可以在&外接程序&菜单下选择&VisualTkinter&来执行,功能不受影响)
---------------------------------
这是一个VB6的IDE插件(Addin),使用VB6的IDE直接设计Python的界面。
Python和VB都是能让人快乐的编程语言,我使用了Python之后,很多自己使用的工具都使用Python开发或改写了,因为最终实现的Python代码实在太短了(相比VB),有时候Python一行代码就可以实现VB一个函数的功能。
Python就是这种让人越用越开心的语言。
不过说实在,使用Python开发GUI界面还是麻烦了一些了,自带的标准库Tkinter使用起来非常简单,不过对于习惯了VB拖放控件完成界面设计的偶来说,还是不够人性化。TK也有一个工具叫GUI Builder,不过它使用Layout布局,不够直观,而且用起来很不爽。。
至于PyQt/wxPython等GUI库,尽管有可视化设计工具,但总感觉做一般的轻量级应用是杀鸡用牛刀,
而且不够环保,不够低碳,要带一个很大的库,需要目标机器上夜同样安装了PyQt/wxPython,做不了绿色软件。
所以最终的结果是我更喜欢Tkinter,用起来很简单,绿色环保,真正的跨平台,一个py文件到处运行(担心泄密就编译成pyc)。
很多人都认为TK的界面不够美观,不过我经过多次实验后发现导入Python自带的标准TTK主题库,界面非常Native,不输PyQt/wxPython。
此Addin默认启用TTK支持,也可选择关闭。
总而言之,轻量级GUI,TK+TTK足够。
使用此Addin,你可以不用写一句代码就可以生成一个完整可运行的Python的GUI界面,支持2.X和3.X。
安装方法:将压缩包解压到你希望的目录,然后执行Setup.exe完成注册插件过程,打开VB6就可以用了。
在VB窗体上设计完成界面后(你可以大胆的设置各控件的属性,Addin尽量将其翻译为tkinter的控件属性),点工具栏上的VisualTkinter(图标为一片羽毛),再点'生成代码'按钮,即可生成可运行的Python代码,可以拷贝至剪贴板或保存至文件。
一般情况下你可以不用再改变tkinter的控件属性,但是如果你熟悉tkinter,需要更多的控制,可以一一核对各属性,并且修改,再生成代码。
当然除了用来设计界面外,此ADDIN内置的各控件属性列表可以做为编程参考,比较完整,除了极少数我认为大多数人都不用的属性外,属性定义基本上是我从官方的tkinter文档直接翻译的。
代码已经在Github上托管,更新的版本可以在这上面找到,需求也可以在上面提:
软件截图:
08:23 上传
(230.46 KB, 下载次数: 115)
08:17 上传
下载次数: 115
(237.46 KB, 下载次数: 95)
03:29 上传
下载次数: 95
(510.43 KB, 下载次数: 126)
10:06 上传
下载次数: 126
(515.61 KB, 下载次数: 109)
09:25 上传
下载次数: 109
(518.7 KB, 下载次数: 482)
01:28 上传
下载次数: 482
(855.45 KB, 下载次数: 440)
06:20 上传
下载次数: 440
总评分:&信誉积分 + 10&
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID7402710空间积分0 积分10阅读权限10帖子精华可用积分10 信誉积分360 专家积分0 在线时间103 小时注册时间最后登录
白手起家, 积分 10, 距离下一级还需 190 积分
帖子主题精华可用积分10 信誉积分360 专家积分0 在线时间103 小时注册时间最后登录
论坛徽章:0
启动VB6出现的错误
(71.31 KB, 下载次数: 44)
08:25 上传
下载次数: 44
使用VB拖放控件设计tkinter的界面
UID空间积分0 积分1207阅读权限30帖子精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
家境小康, 积分 1207, 距离下一级还需 793 积分
帖子主题精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
论坛徽章:0
应该是缺少个别引用文件。
比如:vbscript.dll(Microsoft VBScript Regular Expressions 5.5)、msado15.dll(Microsoft ActiveX Data Objects 2.8 Library)、VB6EXT.OLB(Microsoft Visual Basic 6.0 Extensibility)、MSO.DLL(Microsoft Office 12.0 Object Library),
如果VB6是可以正常运行的(先使用Setup.exe卸载此插件),
可以考虑直接打开压缩包中的源代码工程(*.vbp),自己在VB中重新编译,根据编译结果就知道缺少什么引用文件了。
也麻烦将结果告诉我一下,我好改进。
使用VB拖放控件设计tkinter的界面
UID空间积分0 积分1207阅读权限30帖子精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
家境小康, 积分 1207, 距离下一级还需 793 积分
帖子主题精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
论坛徽章:0
如果编译通过,则先不关闭VB,直接按F5执行,再启动一个VB6,出现错误窗口后点调试,帮忙将错误的行截屏发上来,谢谢。
UID空间积分0 积分1061阅读权限30帖子精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
家境小康, 积分 1061, 距离下一级还需 939 积分
帖子主题精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
论坛徽章:7
这个还真是方便,vb和python真是越来越让人快乐
多谢牛人奉献的好东西
UID空间积分0 积分1061阅读权限30帖子精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
家境小康, 积分 1061, 距离下一级还需 939 积分
帖子主题精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
论坛徽章:7
本帖最后由
16:14 编辑
请教一下楼主,**关于Tkinter的一些实例的源码可以下载?
UID空间积分0 积分1061阅读权限30帖子精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
家境小康, 积分 1061, 距离下一级还需 939 积分
帖子主题精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
论坛徽章:7
是敏感词?
UID7402710空间积分0 积分10阅读权限10帖子精华可用积分10 信誉积分360 专家积分0 在线时间103 小时注册时间最后登录
白手起家, 积分 10, 距离下一级还需 190 积分
帖子主题精华可用积分10 信誉积分360 专家积分0 在线时间103 小时注册时间最后登录
论坛徽章:0
是MSO.DLL的问题,因为我用的是WPS(KSO.DLL)和office2003((Microsoft Office 11.0 Object Library)。
还有一个问题,我一般用GBK编码,所以字符中有中文的话要加u才行,能不能自动加上。
使用VB拖放控件设计tkinter的界面
UID空间积分0 积分1207阅读权限30帖子精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
家境小康, 积分 1207, 距离下一级还需 793 积分
帖子主题精华可用积分1207 信誉积分820 专家积分0 在线时间543 小时注册时间最后登录
论坛徽章:0
哦,因为我一般使用Python 3,只有在调试兼容性的时候使用Python 2,所以没有注意到UNICODE字符串的问题(Python 3字符串不再需要u前缀),会准备修改这个问题。
回坛友:这是两本,都是网上下载的,官方文档适合做为编程参考,毕竟有全部属性和方法列表,编程实例忘了在哪里下载的了,在此感谢原作者,可以看出,tkinter使用起来超简单。
(1.4 MB, 下载次数: 898)
17:59 上传
下载次数: 898
(497.55 KB, 下载次数: 459)
17:58 上传
下载次数: 459
UID空间积分0 积分1061阅读权限30帖子精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
家境小康, 积分 1061, 距离下一级还需 939 积分
帖子主题精华可用积分1061 信誉积分3223 专家积分0 在线时间2678 小时注册时间最后登录
论坛徽章:7
& & 谢谢您python Tkinter的ToolTip控件 - 为程序员服务
为程序员服务
Tkinter的ToolTip控件
Tkinter的ToolTip控件实现代码:
from Tkinter import *
from time import time, localtime, strftime
class ToolTip( Toplevel ):
Provides a ToolTip widget for Tkinter.
To apply a ToolTip to any Tkinter widget, simply pass the widget to the
ToolTip constructor
def __init__( self, wdgt, msg=None, msgFunc=None, delay=1, follow=True ):
Initialize the ToolTip
Arguments:
wdgt: The widget this ToolTip is assigned to
A static string message assigned to the ToolTip
msgFunc: A function that retrieves a string to use as the ToolTip text
The delay in seconds before the ToolTip appears(may be float)
If True, the ToolTip follows motion, otherwise hides
self.wdgt = wdgt
self.parent = self.wdgt.master
# The parent of the ToolTip is the parent of the ToolTips widget
Toplevel.__init__( self, self.parent, bg='black', padx=1, pady=1 )
# Initalise the Toplevel
self.withdraw()
# Hide initially
self.overrideredirect( True )
# The ToolTip Toplevel should have no frame or title bar
self.msgVar = StringVar()
# The msgVar will contain the text displayed by the ToolTip
if msg == None:
self.msgVar.set( 'No message provided' )
self.msgVar.set( msg )
self.msgFunc = msgFunc
self.delay = delay
self.follow = follow
self.visible = 0
self.lastMotion = 0
Message( self, textvariable=self.msgVar, bg='#FFFFDD',
aspect=1000 ).grid()
# The test of the ToolTip is displayed in a Message widget
self.wdgt.bind( '&Enter&', self.spawn, '+' )
# Add bindings to the widget.
This will NOT override bindings that the widget already has
self.wdgt.bind( '&Leave&', self.hide, '+' )
self.wdgt.bind( '&Motion&', self.move, '+' )
def spawn( self, event=None ):
Spawn the ToolTip.
This simply makes the ToolTip eligible for display.
Usually this is caused by entering the widget
Arguments:
event: The event that called this funciton
self.visible = 1
self.after( int( self.delay * 1000 ), self.show )
# The after function takes a time argument in miliseconds
def show( self ):
Displays the ToolTip if the time delay has been long enough
if self.visible == 1 and time() - self.lastMotion & self.delay:
self.visible = 2
if self.visible == 2:
self.deiconify()
def move( self, event ):
Processes motion within the widget.
Arguments:
event: The event that called this function
self.lastMotion = time()
if self.follow == False:
# If the follow flag is not set, motion within the widget will make the ToolTip dissapear
self.withdraw()
self.visible = 1
self.geometry( '+%i+%i' % ( event.x_root+10, event.y_root+10 ) )
# Offset the ToolTip 10x10 pixes southwest of the pointer
self.msgVar.set( self.msgFunc() )
# Try to call the message function.
Will not change the message if the message function is None or the message function fails
self.after( int( self.delay * 1000 ), self.show )
def hide( self, event=None ):
Hides the ToolTip.
Usually this is caused by leaving the widget
Arguments:
event: The event that called this function
self.visible = 0
self.withdraw()
def xrange2d( n,m ):
Returns a generator of values in a 2d range
Arguments:
n: The number of rows in the 2d range
m: The number of columns in the 2d range
A generator of values in a 2d range
return ( (i,j) for i in xrange(n) for j in xrange(m) )
def range2d( n,m ):
Returns a list of values in a 2d range
Arguments:
n: The number of rows in the 2d range
m: The number of columns in the 2d range
A list of values in a 2d range
return [(i,j) for i in range(n) for j in range(m) ]
def print_time():
Prints the current time in the following format:
HH:MM:SS.00
t = time()
timeString = 'time='
timeString += strftime( '%H:%M:', localtime(t) )
timeString += '%.2f' % ( t%60, )
return timeString
def main():
root = Tk()
btnList = []
for (i,j) in range2d( 6, 4 ):
text = 'delay=%i\n' % i
if j &= 2:
follow=True
text += '+follow\n'
follow = False
text += '-follow\n'
if j % 2 == 0:
msg = None
msgFunc = print_time
text += 'Message Function'
msg = 'Button at %s' % str( (i,j) )
msgFunc = None
text += 'Static Message'
btnList.append( Button( root, text=text ) )
ToolTip( btnList[-1], msg=msg, msgFunc=msgFunc, follow=follow, delay=delay)
btnList[-1].grid( row=i, column=j, sticky=N+S+E+W )
root.mainloop()
if __name__ == '__main__':
注意:上面的ToolTip在有框架的窗体中不能正常工作。
您可能的代码
相关聚客文章
相关专栏文章python(1)
tkinter是python自带的GUI库,可以实现简单的GUI交互,该例子添加了五种不同效果的Button,如图:
from tkinter import *
from tkinter import messagebox #python3.0的messagebox,属于tkinter的一个组件
top = Tk()
top.title(&button test&)
def callback():
messagebox.showinfo(&Python command&,&人生苦短、我用Python&)
Button(top, text=&外观装饰边界附近的标签&, width=19,bg=&red&,relief=&raised&).pack()
Button(top, text=&设置按钮状态&,width=21,state=&disable&).pack()
Button(top, text=&设置bitmap放到按钮左边位置&, compound=&left&,bitmap=&error&).pack()
Button(top, text=&设置command事件调用命令&, fg=&blue&,bd=2,width=28,command=callback).pack()
Button(top, text =&设置高度宽度以及文字显示位置&,anchor = &#39;sw&#39;,width = 30,height = 2).pack()
top.mainloop()
效果如图:
,点击第四个按钮后的效果是:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:36次
排名:千里之外python3用tkinter开发界面,用grib()函数如何加入图片?
如题,想知道如何实现插入图片的功能,用grib()布局,不是用pack(),tkinter的文档里面看了尝试后不成功。希望大神能提供例子来解释说明
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 python tkinter frame 的文章

 

随机推荐