小编Mal*_*olm的帖子

交互式验证tkinter中的Entry小部件内容

在tkinter Entry小部件中交互式验证内容的推荐技术是什么?

我已经阅读了关于使用validate=True和的帖子validatecommand=command,并且看起来这些功能受限于它们在validatecommand命令更新Entry小部件的值时被清除的事实.

鉴于这种行为,我们应该绑定的KeyPress,Cut以及Paste事件和监视/更新我们的Entry小部件的价值,通过这件事情?(以及我可能错过的其他相关事件?)

或者我们是否应该完全忘记交互式验证并仅对FocusOut事件进行验证?

python validation textbox tkinter

74
推荐指数
6
解决办法
6万
查看次数

如何在不知道小部件的字体系列/大小的情况下更改小部件的字体样式?

有没有办法在不知道小部件的字体系列和字体大小的情况下更改Tkinter小部件的字体样式?

使用案例:我们使用标准Tkinter小部件(标签,条目,文本等)创建UI .在我们的应用程序运行时,我们可能希望使用该.config()方法动态地将这些小部件的字体样式更改为粗体和/或斜体.遗憾的是,如果没有指定字体的族和大小,似乎无法指定字体规范.

以下是我们想要做的事情的例子,但这些例子都不起作用:

widget.config(font='bold')
Run Code Online (Sandbox Code Playgroud)

要么

widget.config(font=( None, None, 'bold' ))
Run Code Online (Sandbox Code Playgroud)

python user-interface fonts tkinter

44
推荐指数
4
解决办法
8万
查看次数

何时在tkinter中使用包或网格布局?

是否有关于何时应该使用包装与网格布局的最佳实践提示?

从我通过谷歌阅读的内容来看,似乎是网格可以处理任何包装方案但反之亦然.

为了开始对话,似乎有一个有利于网格与包的用例是当人们想要显示/隐藏小部件时.

python layout user-interface tkinter ttk

23
推荐指数
2
解决办法
2万
查看次数

如何设置框架的最小和最大高度或宽度?

可以通过以下方法控制Tkinter窗口的大小:

.minsize()
.maxsize()
.resizable()
Run Code Online (Sandbox Code Playgroud)

是否有相同的方法来控制Tkinter或ttk帧的大小?

@Bryan:我将你的frame1.pack代码改为:

frame1.pack(fill='both', expand=True)
frame1.bind( '<Configure>', maxsize )
Run Code Online (Sandbox Code Playgroud)

我添加了这个事件处理程序:

# attempt to prevent frame from growing past a certain size
def maxsize( event=None ):
    print frame1.winfo_width()
    if frame1.winfo_width() > 200:
        print 'frame1 wider than 200 pixels'
        frame1.pack_propagate(0)
        frame1.config( width=200 )
        return 'break'
Run Code Online (Sandbox Code Playgroud)

上面的事件处理程序检测到帧的宽度太大,但无法阻止大小的增加发生.这是Tkinter的限制还是我误解了你的解释?

python user-interface tkinter ttk

19
推荐指数
2
解决办法
7万
查看次数

通过命令行或其他形式的自动化签署Word VBA项目/文件

有没有办法在Word 2003和/或Word 2007文档中自动代码签署VBA项目?

通过自动化我的意思是通过命令行实用程序或通过Word VBA自动化?

动机:我想编写几个Word模板的代码作为自动日常构建和分发周期的一部分.现在我们必须通过在Word中打开每个文档并重新签名来手动执行此操作.

谢谢你,马尔科姆

vba ms-word codesign

12
推荐指数
1
解决办法
1915
查看次数

Py2exe:在没有GUI界面的情况下编译Web服务器时是否需要清单文件和w9xpopen.exe?

我正在使用Py2exe在Windows 7 Pro(64位)上使用Python 2.6(32位)编译CherryPy(3.1)服务器.

此服务器将在没有GUI的情况下运行.

问题:

  1. 如果在没有GUI的情况下运行,我是否需要关注为此应用程序添加清单文件?

  2. 我需要在我的exe中包含w9xpopen.exe吗?

到目前为止,我的有限测试表明我不需要在我的可执行文件中包含清单文件或w9xpopen.exe以使其正常工作.

评论赞赏.

谢谢你,马尔科姆

python windows py2exe cherrypy

10
推荐指数
1
解决办法
9907
查看次数

跨程序会话保存复杂Python数据结构的最佳方法(pickle,json,xml,database,other)

寻找有关跨程序会话保存复杂Python数据结构的最佳技术的建议.

这是我到目前为止提出的技术列表:

  • 咸菜/ cPickle的
  • JSON
  • jsonpickle
  • XML
  • 数据库(如SQLite)

Pickle是最简单,最快速的技术,但我的理解是,不能保证pickle输出可以在各种版本的Python 2.x/3.x或跨32位和64位的Python实现中运行.

Json仅适用于简单的数据结构.Jsonpickle似乎纠正了这个并且似乎是为了在不同版本的Python中工作.

可以序列化为XML或数据库,但由于我们必须手动进行序列化,因此需要额外的努力.

谢谢你,马尔科姆

python sqlite json pickle

10
推荐指数
1
解决办法
3028
查看次数

Google为支持ngettext样式复数的GNU gettext PO文件翻译服务

我正在寻找谷歌翻译的前端,支持使用NGETEXT样式复数转换GNU gettext PO文件,例如.msgstr [0] msgstr [n].

我找到了几个PO文件的免费翻译服务[1],但这些服务都不支持ngettext样式复数字符串.我们的PO文件有许多需要转换的复数.

注意:我们认为谷歌翻译并非接近生产质量.我们仅使用翻译的PO文件进行测试/概念验证演示.

任何建议赞赏.

马尔科姆

[1]免费,托管的PO翻译服务

translation gettext google-translate poedit

10
推荐指数
1
解决办法
6144
查看次数

使用Babel:如何在GNU gettext PO文件中保护翻译者评论(和旧翻译)?

使用基于Python的Babel gettext实用程序,是否有任何技术可以保留文件更新中的翻译者注释和旧("过时")翻译(标记为#~)?.po.pot

第一次过时的翻译在.po文件中并pybabel update运行时,翻译将标记为#~.这样,一方面,它被视为注释,直到翻译人员查看并更改它才会被使用,但另一方面,它不会被删除,因此翻译人员可以引用它,或者复制文本从它到其他翻译.

但是,下次pybabel update运行时,会从文件中永久删除所有注释.这意味着标记的翻译#~也会被删除.

例如,使用Babel版本0.9.6和Jinja2版本2.6,以及以下文件:

./babel.ini:

[jinja2: **/templates/**.html]
encoding = utf-8
Run Code Online (Sandbox Code Playgroud)

./templates/test.html:

<html><body>
<h1>{% trans %}My website{% endtrans %}</h1>
</body></html>
Run Code Online (Sandbox Code Playgroud)

./i18n/pt_PT/LC_MESSAGES/messages.po:

# ... header stuff generated from
#     pybabel init -l pt_PT -d i18n -i i18n/messages.pot ...

# Don't forget, I want to remember something about this!
#~ msgid "My web page"
#~ msgstr "A minha página de …
Run Code Online (Sandbox Code Playgroud)

python gettext babel

10
推荐指数
1
解决办法
991
查看次数

所有Tkinter活动的主列表?

我正在寻找所有Tkinter的主列表events.我整个上午一直在谷歌上搜索这样的名单而没有成功.任何对此类列表的引用都将不胜感激.

python events tkinter

9
推荐指数
2
解决办法
5019
查看次数