我想打开一个窗口,并将焦点设置为第一个按钮,这样我就不必点击它。
如果小部件是一个 Entry 小部件我可以写
widget_name.focus()
Run Code Online (Sandbox Code Playgroud)
按钮小部件似乎没有等效项。
我还没想出如何将焦点设置在ttk.Notebook的特定选项卡上.focus_set不起作用.有可能吗?
提前致谢
在python中,如何接收键盘输入。我很清楚控制台输入,input("...")但我更关心在控制台窗口未激活时接收键盘输入。例如,如果我创建了 Tkinter 屏幕的实例,我如何检查是否按下了“w”。然后,如果该语句返回 true,我可以相应地移动一个对象。
有谁知道默认背景的颜色代码?我似乎无法在任何地方找到这个。在我的程序中,我更改了背景颜色,稍后需要将其更改回默认颜色,但我无法找到颜色代码。
任何帮助表示赞赏。谢谢。
嗨,我想运行一个关键字,如果一些布尔值为假,我这样做是为了运行一个关键字,如果布尔是真的但如果Bool是假的我如何运行关键字
Run Keyword If ${Bool}
Run Code Online (Sandbox Code Playgroud) 我需要在另一个变量中使用变量的值.
这就是我试过的..
set cmd_ts "foo bar"
set confCmds {
command1
command2
$cmd_ts
}
puts "confCmds = $confCmds"
Run Code Online (Sandbox Code Playgroud)
但不是得到
confCmds =
command1
command2
foo bar
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
confCmds =
command1
command2
$cmd_ts
Run Code Online (Sandbox Code Playgroud)
PS我试过以下无济于事
此代码提供以下错误:
os.system("scp %s:/export/home/sample/backup.sql %s:/home/rushi/abc.sql" % (a, b))
Permission denied (publickey,keyboard-interactive).
lost connection
Run Code Online (Sandbox Code Playgroud)
a和b是命令行参数,它接受用户名和机器名作为参数:
例如:root@10.88.77.77.
我正在研究一个需要__dict__通过__init__注入赋予它属性的类,如下所示:
class Torrent(Model):
def __init__(self, d):
super(Torrent, self).__init__('torrents')
self.__dict__ = d
Run Code Online (Sandbox Code Playgroud)
并且需要确保不要更改对象的结构,因为实例最终会在NOSQL数据库中结束.我认为这__slots__可能会有所帮助,但我需要动态定义它.
有没有一种方法可以在没有元类的情况下实现它?
我为使用 Tkinter 接收用户输入的其他人开发了几个 Python 程序。为了保持简单和用户友好,命令行或 python 控制台从不出现(即使用 .pyw 文件),所以我正在研究使用日志库将错误文本写入文件时发生异常。但是,我很难让它真正捕获异常。例如:
我们编写了一个会导致错误的函数:
def cause_an_error():
a = 3/0
Run Code Online (Sandbox Code Playgroud)
现在我们尝试正常记录错误:
import logging
logging.basicConfig(filename='errors.log', level=logging.ERROR)
try:
cause_an_error()
except:
logging.exception('simple-exception')
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,程序出错,日志记录将错误写入 errors.log。控制台中什么也没有出现。但是,当我们实现 Tkinter 接口时,会有不同的结果,如下所示:
import logging
import Tkinter
logging.basicConfig(filename='errors.log', level=logging.ERROR)
try:
root = Tkinter.Tk()
Tkinter.Button(root, text='Test', command=cause_an_error).pack()
root.mainloop()
except:
logging.exception('simple-exception')
Run Code Online (Sandbox Code Playgroud)
在这种情况下,按下 Tkinter 窗口中的按钮会导致错误。但是,这一次,没有写入文件,控制台中出现以下错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1536, in __call__
return self.func(*args)
File "C:/Users/samk/Documents/GitHub/sandbox/sandbox2.pyw", line 8, in cause_an_error
a = 3/0
ZeroDivisionError: integer division or modulo by zero …Run Code Online (Sandbox Code Playgroud) change_label当全局变量a改变其值时如何调用函数?我试图change_variable模拟变量的实际变化(单击按钮时变量会发生变化)。
from tkinter import *
a = 3
class Application(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.master = master
self.button = Button(self.master, text='Change Variable', command=self.change_variable)
self.button.grid(row=0)
self.label = Label(self.master, text='Test')
self.label.grid(row=1)
def change_label(self):
self.label.config(bg='Red', fg='Yellow')
def change_variable(self):
global a
a = 1
def main():
root = Tk()
Application(root)
root.mainloop()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud) python ×7
tkinter ×6
focus ×2
background ×1
button ×1
class ×1
colors ×1
default ×1
dictionary ×1
keyboard ×1
python-3.4 ×1
scp ×1
ssh ×1
tcl ×1
ttk ×1