这不是一个问题,而是帮助可能遇到此问题的其他人的答案.
我想要想象一些基本颜色,所以我可以选择适合我的配色方案.我无法在任何地方找到颜色图表,因此修改了样本以显示它希望您发现它很有用.
import Tix as tk
# import tkinter.tix as tk # for Python 3
COLORS =['snow', 'ghost white', 'white smoke', 'gainsboro', 'floral white', 'old lace',
'linen', 'antique white', 'papaya whip', 'blanched almond', 'bisque', 'peach puff',
'navajo white', 'lemon chiffon', 'mint cream', 'azure', 'alice blue', 'lavender',
'lavender blush', 'misty rose', 'dark slate gray', 'dim gray', 'slate gray',
'light slate gray', 'gray', 'light grey', 'midnight blue', 'navy', 'cornflower blue', 'dark slate blue',
'slate blue', 'medium slate blue', 'light slate blue', 'medium …Run Code Online (Sandbox Code Playgroud) 我一直在用Tkinter和Tix写一个小程序.我正处于需要带有复选框(检查按钮)的树视图的位置,因此我可以从树视图中选择项目.是否有捷径可寻?我一直在看ttk.Treeview(),它看起来很容易得到树视图,但有没有办法在视图中插入一个检查按钮?
一个简单的代码片段将非常感激.
我不仅限于ttk.什么都行; 只要我有一个示例或好的文档,我就可以使它工作
在尝试使用py2exe为我的GUI程序创建可执行文件时,我收到以下错误:
Traceback (most recent call last):
File "dopy.py", line 139, in <module>
File "Tix.pyc", line 225, in __init__
_tkinter.TclError: can't find package Tix
Run Code Online (Sandbox Code Playgroud)
我的程序导入Tix,但py2exe不打包它.
我找不到任何有效的在线解决方案,但最接近的是http://www.py2exe.org/index.cgi/TixSetup.
不幸的是,将data_files更改为我的Tix路径(My Tix8.4.3而不是旧的Tix8.1)也不起作用.
我的程序可执行文件无法在没有Tix的情况下启动,并且py2exe似乎不想包含它.
查看py2exe创建的'dist'文件夹,我注意到有一个tcl文件夹,里面包含一个'tcl8.5'文件夹和一个'tk8.5'文件夹,但没有Tix文件夹.这些文件夹在我的'Python/tcl /'文件夹下是相同的.
只需将'tix8.4.3'文件夹复制到'dist/tcl /'文件夹中,就会包含Tix DLL和包文件,现在我的程序正常运行!
我最近对Python中的GUI编程感兴趣.
我已经有了很多Pygame的经验,但发现只使用Tkinter,Tix等提供的界面会更容易.
但是,我很难在Tix for Python上找到任何体面的文档或教程.(与Pygame不同,我发现有很多指南/教程非常好)
我在哪里可以找到一个很好的教程?(这只是假设Python的知识,希望不知道Tk)
您好,我正在尝试创建一个按钮,该按钮在悬停时会显示说明。类似于 html img 标签“alt”,我决定将“tkinter.pix”与 Balloon() 一起使用,但出现错误:_tkinter.TclError:无效的命令名称“tixBalloon”。
from tkinter import *
from tkinter import tix
class MyClass:
def __init__(self, master):
self.master = master
self.btn_1 = Button(self.master, text="Button")
self.btn_1.pack()
self.bal = tix.Balloon(self.master)
self.bal.bind_widget(self.btn_1, balloonmsg="Hello")
root = Tk()
app= MyClass(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 启动程序与
from tkinter import *
Run Code Online (Sandbox Code Playgroud)
和
from tkinter import tix as tk
Run Code Online (Sandbox Code Playgroud)
因为对于后一个我有问题,因此问题。我已将所有 tkinter 元素从普通的“Button”更改为“tk.Button”,但这似乎并不是它唯一的区别。
特别是我在以下代码位中有问题:
class OptionMenus(OptionMenu):
def __init__(self, master, status, *fonts):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
Run Code Online (Sandbox Code Playgroud)
或者
class OptionMenus(tk.OptionMenu):
def __init__(self, master, status, *fonts):
self.var = tk.StringVar(master)
(self.var).set(status)
(tk.OptionMenu).__init__(self, master, self.var, *fonts,
command = update_config)
self.config(width = "9", height = "1")
Run Code Online (Sandbox Code Playgroud)
(以防万一我怎么称呼它)
fonts_menu = OptionMenus(buttons, strings[17], *fonts)
Run Code Online (Sandbox Code Playgroud)
后一个产生错误:“TypeError: init () 需要 2 到 3 个位置参数,但给出了 4 …
我有一个带有可编辑文本字段的Tix.ComboBox.如何强制保存文本值的变量更新?
让我给出一个更具体的解释.我有一个组合框和一个按钮.当我单击该按钮时,它会弹出一个带有组合框值的消息框.假设组合框文本字段当前具有值"thing1".如果我在框中键入"new",然后用鼠标单击按钮,它将弹出消息"thing1".如果我在框中键入"new",然后将tab焦点从组合框中移开,然后单击弹出消息显示"new"的按钮.
我是否强制组合框将其值更新为new而不要求我从组合框中删除?
我已经包含了示例代码.
import Tix
import tkMessageBox
class App(object):
def __init__(self, window):
window.winfo_toplevel().wm_title("test")
self.window = window
self.combo = Tix.ComboBox(window)
self.combo.insert(Tix.END, 'thing1')
self.combo.insert(Tix.END, 'thing2')
self.combo.entry['state'] = "normal"
self.combo['editable'] = True
self.combo.pack()
button = Tix.Button(window)
button['text'] = "Go"
button['command'] = self.go
button.pack()
def go(self):
tkMessageBox.showinfo('info', self.combo['value'])
if __name__ == '__main__':
root = Tix.Tk()
App(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Python中创建一个选项卡式GUI,我希望能够切换选项卡的启用/禁用状态(即阻止用户切换选项卡,并禁止鬼非活动选项卡以使这一事实显而易见).到目前为止,我一直无法弄清楚如何进行这种状态切换.
我决定使用Tkinter和/或Tix,因为它们内置于Windows上的Python发行版中(指导我的用户安装额外的第三方依赖项将比它的价值更麻烦).我曾经和Tkinter合作过一段时间但从未使用过Tix,因为标签似乎需要它.所以我在http://svn.python.org/projects/python/trunk/Demo/tix/samples/NoteBook.py上根据演示构建了一个双标签的Tix.NoteBook.
为了禁用选项卡,Tix选项卡实例的唯一相关属性(例如nb.hard_disk在演示代码中)似乎是configure()天真的做类似Tkinter的东西,即nb.hard_disk.configure(state=Tix.DISABLED)导致TclError: unknown option "-state"
搜索"禁用Tix笔记本选项卡"不会产生任何效果,甚至更通用的"禁用Tix小部件"也不会产生任何我能理解/使用的内容.感谢正确方向的任何指针.
一位朋友给我发了一些Tkinter/Tix代码,但它适用于Python 2:
from Tkinter import *
import Tix
import ScrolledText
Run Code Online (Sandbox Code Playgroud)
我有Python 3,我没有Tix安装,程序崩溃.经过一番搜索后,我将代码更改为:
from tkinter import *
from tkinter import tix
from tkinter import scrolledtext
Run Code Online (Sandbox Code Playgroud)
这就是我在互联网上找到的东西.我不知道这是不是一个正确的方法.但代码仍然没有运行它崩溃
root = tix.Tk()
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/tix.py, line 221, in __init__
self.tk.eval('package require Tix')
_tkinter.TclError: can't find package Tix
Run Code Online (Sandbox Code Playgroud)
我想知道如何正确修改代码以使其运行以及如何安装Tix.
原始形式的整个代码:http: //pastebin.com/JCqhNSRR
为了这个,我已经把头发拔出来了……
我已将 tkinter 应用程序配置为使用 tix,以便我可以利用 Balloon 小部件作为工具提示。然而,弹出的气球消息是非常丑陋的黄色,我一辈子都不知道如何设置背景颜色。到目前为止,这是我尝试过的:
b = tix.Balloon(self, statusbar=self.status,bg='grey87',initwait=500)
b.subwidget('label')['bg'] = 'grey87'
b.subwidget('message')['bg'] = 'grey87'
Run Code Online (Sandbox Code Playgroud)
此配置仅导致以下结果:

tix ×10
python ×9
tkinter ×8
python-3.x ×2
combobox ×1
macos ×1
py2exe ×1
python-2.5 ×1
python-2.7 ×1
ttk ×1