我曾经在我的cygwin控制台中启动git gui没有任何问题,但是因为我更新了cygwin,我收到以下错误消息:
$ git gui
Application initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: invalid command name "tk_messageBox"
while executing
"tk_messageBox -icon error -type ok -title "git-gui: fatal error" -message $err"
invoked from within
"if {[catch {package require Tcl 8.4} err]
|| [catch {package require Tk 8.4} err]
} {
catch {wm withdraw .}
tk_messageBox \
-icon error \
-typ..."
(file "/usr/lib/git-core/git-gui" line 34)
Run Code Online (Sandbox Code Playgroud)
谁知道如何解决这个问题?
我想为我的脚本制作一些图形对话框,但不知道如何.我听说过有关GTK-Server或类似的东西.如果有人知道如何将Bash与tcl/tk联系起来,我也会感到满意.
请不要发布类似"更改为C++"的内容,因为我的项目必须是Bash中的脚本; 没有其他选择.
有任何想法吗?
编辑:
谢谢你的答案,但我不希望控制台中的颜色"图形",但我可以移动的图形窗口,最小化等我会测试xmessage,但我不认为这将是我正在寻找的.
编辑2: 我不想做一个简单的对话,如是/否,但有一些界面,如进度条和按钮,类似于游戏.
你知道一种聪明的方式来隐藏或以任何其他方式摆脱出现的根窗口Tk()吗?我想只使用一个普通的对话框.
我应该跳过对话框并将所有组件放在根窗口中吗?是可能的还是可取的?还是有更聪明的解决方案?
我正在用Tkinter编写幻灯片程序,但我不知道如何将背景颜色更改为黑色而不是标准浅灰色.如何才能做到这一点?
import os, sys
import Tkinter
import Image, ImageTk
import time
root = Tkinter.Tk()
w, h = root.winfo_screenwidth(), root.winfo_screenheight()
root.overrideredirect(1)
root.geometry("%dx%d+0+0" % (w, h))
root.focus_set()
root.bind("<Escape>", lambda e: e.widget.quit())
image = Image.open(image_path+f)
tkpi = ImageTk.PhotoImage(image)
label_image = Tkinter.Label(root, image=tkpi)
label_image.place(x=0,y=0,width=w,height=h)
root.mainloop(0)
Run Code Online (Sandbox Code Playgroud) 浏览TkDocs网站,看起来Tk在"原生外观"部门已经走过了漫长的道路.但是看一下这些截图,它似乎在Linux中失败了.如果向下滚动该页面,您将看到一个看起来与Mac完全相同的Mac屏幕截图,一个看起来与Windows XP完全相同的Windows XP屏幕截图,以及一个看起来像...... Windows 98(或带有经典的Windows XP)的Linux屏幕截图样式).
我知道Linux并不真正具有"本机外观",因为每个工具包都有自己的样式.但是我想知道是否有任何方式来设置Tk,所以它看起来像GTK或Qt(最好是Gtk),所以它会融入Linux桌面上的大多数其他应用程序.
那么Windows Vista/7呢?我没有在这些平台上看到任何Tk截图.
Tk GUI似乎普遍被认为是丑陋的,但我想知道具体的原因.Tcl/Tk世界中的一些人认为这是一个没有实际意义的点,因为现在对于原生外观有更好的支持,这是我决定使用Tcl/Tk的一个重要原因.然而,现在问题是,因为我正在利用Tcl/Starkit vfs(虚拟文件系统),本机文件对话框不起作用,我将不得不恢复到纯Tk文件对话框.
我正在寻找具体的技术原因,例如关于字体别名(或缺少字体别名)或字体样式或颜色等等.因为我个人不买"这对我来说只是丑陋".对我而言,它只是与众不同,我在Mac和Windows以及Linux之间切换规律,所以我习惯了不同的外观/感觉.
具体来说,传统Tk GUI的主题外观被认为是丑陋的:

我需要在Tkinker中创建一个OpenGL上下文,以便将它与PyOpenGL Python模块一起使用.
Tkinker本身并不支持OpenGL上下文,但我发现PyOpenGL文档此页,讲解如何使用的包装,包括为这个模块中: http://pyopengl.sourceforge.net/documentation/context/
我试图运行提供的代码,但我收到一条消息说没有找到TOGL模块.我从http://togl.sourceforge.net/下载了该模块,但无法使其工作.
PS.我使用virtualenv在Mac OS X上使用Python 3.2进行了测试.
我正在使用macOS 10.12.1 Sierra.我使用的是Python 2.7.12
brew install python
Run Code Online (Sandbox Code Playgroud)
但是IDLE给出了警告
WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.
Run Code Online (Sandbox Code Playgroud)
果然,它经常崩溃.8.5.9是macOS预安装版本.
我可以从ActiveState网站下载稳定的8.5.18 (由python推荐,它与python.org的python安装一起工作(因为他们在使用不稳定的macOS默认8.5.9之前寻找任何其他版本的Tcl/Tk) ).
但是这个下载不会影响brew安装的python IDLE,它继续使用8.5.9.
有什么我可以做的事情来链接更新的Tcl/Tk和Homebrew,或者我可以直接用自制软件安装Tcl/Tk吗?
我也注意到使用anaconda python时会出现完全相同的问题,它使用预安装的mac tcl/tk 8.5.9,而不是用户安装的tcl/tk 8.5.18.
他们的版本中的Tcl和Tk 8.6已经出现了大约六个星期.但是,可以从Tcl下载的文件具有不同的文件夹结构,并且缺少某些文件,例如tk85.lib(或tk86.lib现在)与Python中的Tcl文件夹相比.
我的问题是:如何在Python中将Tcl和Tk更新为8.6(包括集成到Tkinter)?
Python版本为2.7,操作系统为Windows 7.
在遇到C#,ASP.NET,MS Access,Linux和Mono的主要兼容性问题之后,我决定用跨平台,开源的语言编程,并与兼容许多的嵌入式数据库兼容平台.我把选择范围缩小到了TCL.
在我开始使用TCL进行示例应用程序之前,我想看看创建独立应用程序是多么容易.我购买了一本名为"TCL和TK中的实用编程"的书,下载了TCLkit和FreeWrap,但我找到了将TK(Wish)中的TCL转换为独立应用程序的方法.
是否有人能够提供简单的步骤来将TCL TK脚本(例如带有文本的标签)转换为应用程序,或者具有非常直接解释的Web资源?