我想在主窗口中添加滚动条.如何在主窗口中添加滚动条.请帮我.
我正在尝试使用mingw和msys在Windows上为Y86代码(http://csapp.cs.cmu.edu/public/sim.tar)编译模拟器,模拟器使用Tcl和Tk作为它具有的GUI,所以我第一次尝试下载所需的包括和Tcl和Tk库建立与,没有工作,所以我下载的源和内置它们MSYS(http://wiki.tcl.tk/14828).
我遇到的问题是我在运行make文件时遇到同样的错误,
chrismeyer @ MEYER-C/src/sim
$ make
(cd misc; make all)make [1]:输入目录/src/sim/misc' make[1]: Nothing to be done forall'.make [1]:离开目录/src/sim/misc' (cd pipe; make all GUIMODE=-DHAS_GUI TKLIBS="-l /opt/tcl/lib" TKINC="-I /opt/tcl/include") make[1]: Entering directory/ src/sim/pipe'构建PIPE的pipe-std.hcl版本../misc/hcl2c -n pipe-std.hcl <pipe-std.hcl> pipe-std.c gcc -Wall -O2 -I/opt/tcl/include -I ../ misc -DHAS_GUI -o psim psim.c pipe-std.c\../misc/isa.c -l/opt/tcl/lib -lm c:\ minGW\bin ..\lib\gcc\mingw32\3.4.5 ........\mingw32\bin\ld.exe:找不到-lC:/msys/1.0/opt/tcl/lib collect2:ld返回1退出状态make [1]:* [psim]错误1 make [1]:离开目录`/ src/sim/pipe'
抱歉错误的格式化,它搞砸了一点.主要问题是这一行
C:\minGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lC:/msys/1.0/opt/tcl/lib
Run Code Online (Sandbox Code Playgroud)
我不确定为什么gcc找不到lib目录,它存在,我已经检查了很多次.
任何洞察这个问题都会非常有帮助!
谢谢!
问题是:Tkinter中的时钟指针闪烁,因为我使用w.delete,但如果我不使用它,那么时钟指针复制..请帮忙.
import Tkinter as tk; import time
from math import cos,sin,pi
import sys
root=tk.Tk(); root.title("Clock")
w = tk.Canvas(root, width=320, height=320, bg="#456", relief= "sunken", border=10)
w.pack()
size=300
def funA():
s=time.localtime()[5]
m=time.localtime()[4]
h=time.localtime()[3]
w.update()
degrees = 6*s
angle = degrees*pi*2/360
ox = 165
oy = 165
x = ox + size*sin(angle)*0.45
y = oy - size*cos(angle)*0.45
t = w.create_line(ox,oy,x,y, fill = "#ffc")
degrees1 = 6*m
angle1 = degrees1*pi*2/360
ox1 = 165
oy1 = 165
x1 = ox1 + size*sin(angle1)*0.4
y1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证条目的文本输入.
entry $w.e -validate key -vcmd "entryChanged $w.l $w.e"
Run Code Online (Sandbox Code Playgroud)
我定义了以下回调.
proc entryChanged {l e} {
puts [$e get]
return 1
}
Run Code Online (Sandbox Code Playgroud)
问题是get返回条目的先前值,因为直到验证之后才设置新值.我的问题是如何获取新值?(要验证的值)我认为它与某些事情有关-textvariable,但是,我找不到太多关于此的文档.
我发现这个代码在线,我想尝试一下,因为我试图找出如何在我输入消息框时更改标签.我尝试了getmethod,但我一直在努力使用它.所以我发现了这个代码,当我尝试它时,我得到的错误是ttk未定义但显然是.
from Tkinter import *
from ttk import *
def calculate(*args):
try:
value = float(feet.get())
meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)
except ValueError:
pass
root = Tk()
root.title("Feet to Meters")
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
feet = StringVar()
meters = StringVar()
feet_entry = ttkEntry(mainframe, width=7, textvariable=feet)
feet_entry.grid(column=2, row=1, sticky=(W, E))
ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)
ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)
ttk.Label(mainframe, text="is equivalent …Run Code Online (Sandbox Code Playgroud) 尝试make WordNet 3.0时,它退出时出现错误2.向上滚动,出现以下错误:
In file included from tkAppInit.c:16:
/usr/include/tk.h:78:23: error: X11/Xlib.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我们如何在OS X 10.8上安装WordNet?
我如何传递num按钮的命令功能的值?
f.frame <- tktoplevel()
numIDs = 50;
bs = list();
OnPress <- function (inum) { print (inum) }
for (num in 1:numIDs) {
bs[[num]] <- tkbutton (f.frame, command = "OnPress num");
tkpack (bs[[num]]);
}
Run Code Online (Sandbox Code Playgroud) 这是代码:
from tkinter import *
class PopupTk(Frame):
def __init__(self, master=None, title="Notification", msg="New information", duration=2):
Frame.__init__(self, master)
self.duration = duration
close_button = Button(self, text="C", command=self.master.destroy)
close_button.pack(side=LEFT)
title_label = Label(self, text=title)
title_label.config(justify=LEFT)
title_label.pack()
msg_label = Label(self, text=msg)
msg_label.config(justify=LEFT)
msg_label.pack()
self.pack(side=TOP, fill=BOTH, expand=YES, padx=10, pady=10)
# get screen width and height
ws = self.master.winfo_screenwidth()
hs = self.master.winfo_screenheight()
w = 300
h = 100
# calculate position x, y
x = ws - w
y = hs - h
self.master.geometry('%dx%d+%d+%d' % (w, h, x, …Run Code Online (Sandbox Code Playgroud) 这是我与Tkinter的第一次相遇,而且我正在撞墙挡住我的头.
最终,我想要一个布局,沿着左边缘使用一个包含一堆按钮(导航)的框架.这应该硬接线到100像素宽并占用所有垂直空间.窗口的其余部分应该填充内容框架,其中的内容我将动态更改.
所以,应该很简单.这是我的简化版本(颜色编码供参考):
from Tkinter import *
root = Tk()
root.geometry("300x200")
navbar = Frame(root, bg="green", width=100)
navbar.pack(anchor=W, fill=Y, expand=True, side=LEFT)
content_frame = Frame(root, bg="orange")
content_frame.pack(anchor=N, fill=BOTH, expand=True, side=LEFT )
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我期望看到的是窗口左侧的绿色条(100 px宽)(全高),窗口的其余部分为橙色.然而,我得到的是爱尔兰国旗(绿色,白色,橙色).
无论我做什么,橙色content_frame只是拒绝水平填充.似乎Tk将窗口分成两半,将绿色导航栏放在左侧(如预期的那样),但是给予橙色content_frame只留下剩余空间的一半.
我可以强制橙色通过编码填充空间,在这种情况下宽度= 200,但是当窗口调整大小时这不会弯曲.此外,如果我不添加绿色导航栏,橙色content_frame会愉快地填充整个窗口.
此示例代码显示了具有anchor = N的content_frame,但是我锚定它的位置并不重要.无论我是左边还是边=右边都没关系.
我还发现,无论我如何调整绿色导航栏的宽度,Tk总是将剩余的水平空间分成两半,并将橙色content_frame放在右半部分.
这必须简单.有任何想法吗?
我的任务需要通过peri中的gui持续执行.
设置包括文本字段,按钮和文本区域.按下该按钮时,系统命令将使用文本字段中的值重复运行,并在文本区域中显示输出.
例如,考虑以下代码:使用Tk;
# Main Window
my $mw = new MainWindow;
#GUI Building Area
my $frm_name = $mw -> Frame();
my $lab = $frm_name -> Label(-text=>"Command");
my $ent = $frm_name -> Entry();
#Button and command
my $ent = $mw -> Entry() -> pack();
my $but = $mw -> Button(-text=>"Run Command", -command =>\&push_button) -> pack();
#Text Area
my $textarea = $mw -> Frame();
my $txt = $textarea -> Text(-width=>40, -height=>10) -> pack();
#Geometry Management
$lab -> grid(-row=>1,-column=>1);
$ent -> grid(-row=>2,-column=>1);
$frm_name …Run Code Online (Sandbox Code Playgroud)