fontsize
在User Settings
窗口中查询仅产生以下设置:
如下所示:
做同样的sidebar
事情会带来更差的结果:
在编辑器窗格和侧边栏中使用不同大小的字体看起来......让我们满意:不太好.我刚刚发现了这个很棒的工具的最大遗漏吗?
据我所知,即使VS Code的“输出面板”的Toggle Output Scroll Lock
标题区域中有一个图标
它仍然使用称为智能锁定的功能,这意味着只有在输出区域在生成新输出之前已经一直向下滚动到底部时才启用滚动(此处有更多信息)。
我使用Code Runner,并确保每次我运行代码时看到输出区域被手动向下滚动,看是否有什么使我发疯。
我认为 VS Code 将所有相关的元数据保存在.vscode
文件夹和.code-workspace
文件中,因为这些都包含在工作区文件夹中,所以我认为它们都是独立的,移动时不会引起问题。但显然我大错特错了。
将我的工作区文件夹移动到新位置并相应地更改保存在.code-workspace
文件中的文件夹路径后,所有打开的编辑器窗格和底部面板都消失了。我现在拥有的是一个不错的欢迎窗口。
我知道官方指南推荐的内容,但这只是移动.code-worskpace
图元文件 - 文件夹仍然保留在原位。
据说这里的部分 标准字体:
特别是对于或多或少的标准用户界面元素,每个平台都定义了应该使用的特定字体。Tk 将其中的许多封装成一组标准字体,这些字体始终可用,当然标准小部件也使用这些字体。这有助于抽象出平台差异。
然后在预定义的字体列表中有:
TkFixedFont
A standard fixed-width font.
这也与我在这里找到的关于选择等宽、平台独立字体的标准方法一致Tkinter
,例如在这个答案中所述。
唉,当我尝试自己做这件事时,就像下面的简单代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
frame = ttk.Frame(root)
style = ttk.Style()
style.configure("Fixed.TButton", font=("TkFixedFont", 16))
button = ttk.Button(text="Some monospaced text, hopefully", style="Fixed.TButton")
frame.grid()
button.grid(sticky="news")
button.configure(text="I don't quite like this font.")
Run Code Online (Sandbox Code Playgroud)
我得到的是这样的:
这对我来说看起来不像是等宽的,所以我检查了在我的平台上到底Tkinter
转换TkFixedFont
成什么:
from tkinter import font
font.nametofont("TkFixedFont").actual()
Run Code Online (Sandbox Code Playgroud)
答案是:
{'family': 'DejaVu Sans Mono', 'size': 9, 'weight': 'normal', 'slant': 'roman', 'underline': 0, 'overstrike': 0} …
Run Code Online (Sandbox Code Playgroud) 我想注释我的返回类型,它恰好是一个包含整数列表的列表。这是注释:List[List[int]]
好吗?这是我的返回类型的确切示例:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud) 我有一个单项字典列表(从 JSON 解析),如下所示:
lst = [
{"key_0": "value_0"},
{"key_1": "value_1"},
{"key_2": "value_2"},
...
{"key_n": "value_n"}
]
Run Code Online (Sandbox Code Playgroud)
从不知道该键的列表的 n 元素中检索键的最优雅方法是什么?
我想出了:
[*lst[n].keys()][0]
Run Code Online (Sandbox Code Playgroud)
但对我来说看起来有点难看。
我在尝试Treeview
从另一个小部件的回调中取消选择一个项目时遇到了麻烦。我设法在ESCAPE新闻界实施了一个有效的取消选择:
tree.selection_remove(tree.focus())
Run Code Online (Sandbox Code Playgroud)
在绑定到树视图对象本身的回调中。它仅在树视图具有焦点时才有效(但没关系,这是一种理想的行为)。另一方面,从另一个小部件的回调中尝试相同的方法不起作用。
我尝试使用:
tree.selection_clear()
Run Code Online (Sandbox Code Playgroud)
正如这里推荐的那样,但这也不起作用。
重要提示:从与tree.selection_add(iid)
作品相同的调用中选择树视图中的项目。与操作另一个小部件(组合框,并且进行调用的小部件是一个框架)相同。基于此,我不认为问题是由于我的代码中的一些愚蠢的错误(错字或类似的东西)造成的。
我的理论是失去焦点是一个问题,因为这是我看到的唯一区别,当相同的代码ESCAPE在其他地方工作但不在其他地方时,所以我试图用tree.focus_set()
和获得焦点tree.focus_force()
,但这并没有改变任何东西。
我不太明白selection_clear()
应该做什么。由于ttk.Treeview
从ttk.Misc
有关此的文档中继承了此方法,因此很少使用。我在这里或这里找不到任何关于它的东西。我发现的唯一一件事是简洁:
清除当前的 X 选择。
来自 Python shell 帮助(神秘的X
坐标是什么?)
那么如何做到这么简单的事情呢?请帮忙,我不知所措。
我无法理解 JavaScript 中的回调如何获取它们的参数。或者换句话说:如何实现一个高阶函数,使其回调接受例如标准err
和data
参数。
就像在这篇关于异步 JavaScript 的文章中以通常方式使用的回调示例中一样(我知道这是通常的,因为我在 Node.js 中看到的正是这种模式moongose(即用于在 db 中创建数据):
function getData(options, callback) {
$.get("example.php", options, function(response) {
callback(null, JSON.parse(response));
}, function() {
callback(new Error("AJAX request failed!"));
});
}
// usage
getData({name: "John"}, function(err, data) {
if(err) {
console.log("Error! " + err.toString())
} else {
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
回调究竟是如何得到的参数err
和data
基于怎样getData()
的功能上面声明?
python ×4
tkinter ×2
ttk ×2
annotations ×1
asynchronous ×1
callback ×1
dictionary ×1
font-size ×1
fonts ×1
javascript ×1
monospace ×1
scroll ×1
sidebar ×1
treeview ×1
typing ×1
workspace ×1