我有一个双显示器设置(笔记本电脑屏幕和外部显示器).我的笔记本电脑屏幕是我的主显示屏,外接显示器是次要的 两者都有不同的屏幕尺寸.
在我的python tkinter脚本中,我使用winfo_screenwidth()并winfo_screenheight()检测屏幕宽度和高度,以便我可以将根窗口设置为全屏.
通常,当我运行我的脚本时,根窗口将是我的笔记本电脑屏幕的大小.当我将窗口移动到扩展显示器时,我希望它自动调整宽度和高度以匹配外部显示器的宽度和高度.
这可能吗?有没有办法检查根窗口是在主显示器还是辅助显示器?
不winfo_screenwidth()检测二次显示器的宽度和高度?
编辑:我使用的是Windows XP Pro 32位和Python 2.7.
在 Visual Studio Code (VSCode) 中,我经常想在编码时临时存储一些文本。执行此操作的快速方法是按 Ctrl + N(在新选项卡中打开新文件),然后按 Ctrl + V(粘贴文本)。然后我可以稍后返回新选项卡并检索文本。这比使用剪贴板更安全,因为我不想因为复制其他内容而意外地将其吹走。
然而,VSCode 的 ESLint 扩展会自动检测到我已将一些 JavaScript 代码粘贴到新文件中,并立即开始对其进行 linting,即使它是一个全新且未保存的文件。这会使“问题”窗格中出现虚假错误。
我该如何防止这种情况发生?
1) 我的网页代码是用 TypeScript 编写的,我使用 WebPack 将其捆绑到最终用户的“main.min.js”文件中。(非常标准的东西。)
2) 我想利用Sentry.io服务自动向云端报告错误,因此我安装了该@sentry/browser包并在我的 TypeScript 代码库中对其进行了初始化。到目前为止一切顺利 - 我的网页成功向 Sentry 报告错误。
3) 然而,报告的错误不包含真实的行号,例如源映射。为了解决这个问题,Sentry 文档说您需要使用SentryWebpackPlugin. 所以,我已经安装了它,并将我的 WebPack 配置更改为以下内容:
import SentryWebpackPlugin from '@sentry/webpack-plugin';
import * as path from 'path';
import * as webpack from 'webpack';
// Constants
const epoch = new Date().getTime();
const config: webpack.Configuration = {
// The entry file to bundle
entry: path.join(__dirname, 'src', 'main.ts'),
// Where to put the bundled file
output: {
path: __dirname, // By default, …Run Code Online (Sandbox Code Playgroud) TypeScript 库 A除了“正常”导出之外还提供类型定义,如下所示:
declare global {
function someGlobalFunction(): void;
}
Run Code Online (Sandbox Code Playgroud)
库 B 使用库 A 的类型定义。因此,在库 B 的 tsconfig.json 中,我们输入:
"types": ["library-a"],
Run Code Online (Sandbox Code Playgroud)
someGlobalFunction不再导致编译器错误。我有一个 TypeScript monorepo。(它使用 NX 作为 monorepo 工具,使用 Yarn 作为包管理器,但这可能并不重要,因为这个问题适用于任何类型的 TypeScript monorepo。)
如果库 A 和库 B 都在我的 monorepo 中,我如何复制第 1 部分中的设置?
首先,monorepo 使用pathstsconfig.json 文件中的字段,以便包可以相互导入,而无需实际安装它们。这很简单,而且效果很好。然而,如果我们使用该字段,它就会崩溃types,因为paths和types似乎没有被编程为一起工作。具体来说:
"types": ["library-a"]像以前一样指定,TypeScript 找不到它,说library-a找不到。我正在使用Pixi.js v4 图形库用 JavaScript 制作游戏。我知道我可以像这样绘制一个黑色 + 圆角矩形:
const rectangle = new pixi.Graphics();
rectangle.beginFill(0); // Color it black
rectangle.drawRoundedRect(
0,
0,
100, // Make it 100x100
100,
5, // Make the rounded corners have a radius of 5
);
rectangle.endFill();
stage.addChild(rectangle);
Run Code Online (Sandbox Code Playgroud)
如何绘制一个从白到黑渐变的圆角矩形?
如何绘制具有逐渐不透明度的圆角矩形,使其从左到右淡入?
ESLint 似乎无法解析“.eslintrc.js”文件。
重现步骤:我建立了一个新的“hello world”TypeScript 项目,如下所示:
# Make a new directory for our new project
mkdir test
# Go into the new directory
cd test
# Create a "package.json" file
npm init --yes
# Install TypeScript
npm install typescript --save-dev
# Install ESLint (the linter)
npm install eslint --save-dev
# Install the Airbnb ESLint config (the most popular linting config in the world)
npm install eslint-config-airbnb-typescript --save-dev
# The import plugin for ESLint is needed for the Airbnb config to …Run Code Online (Sandbox Code Playgroud) rust-analyzerVSCode 扩展,因为它似乎是 Rust 最好的扩展(截至 2022 年)。我的 VSCode 的“settings.json”中有以下两个条目:
{
"rust-analyzer.checkOnSave.command": "clippy",
"[rust]": {
"editor.formatOnSave": true,
},
}
Run Code Online (Sandbox Code Playgroud)
clippy(linter)在按 Ctrl + s 保存文件时自动运行。rustfmt(格式化程序)在按 Ctrl + s 保存文件时自动运行。除了这两件事之外,我还想cargo fix在按 Ctrl + s 保存文件时自动运行,因为这样做会自动清理未使用的导入。
我怎样才能做到这一点?
(我希望自动清理未使用的导入,就像我想要自动格式化程序一样。手动删除未使用的导入非常乏味,完全浪费我的时间,就像手动添加适当数量的制表符或空格一样。 )
我想做的事:
根据字符串的内容(例如a1b2c3d4e5,),我想生成一堆“可重复的”随机事件。在Golang中生成可重复的随机数很容易-您只需使用rand.Seed()函数为随机数生成器播种特定的数,然后完成。
但是,rand.Seed()函数采用int64作为参数。因此,我将需要以某种方式将字符串转换为int64。
我已经尝试过的
我的第一个想法是使用base64对字符串进行编码,然后将字节序列转换为int64。但是,通过一些基本测试,似乎仅支持大约7个长度的字符串。添加第8个字符后,数字保持不变。
我猜这里的根本问题是,可能的字符串值比可能的int64值更多。
那么某种哈希函数呢?我所知道的大多数哈希函数都返回一个字节序列。我需要某种返回int64的哈希函数。也许这种方法也被误导了?
我刚刚使用 Iris 框架用 Go 完成了我的第一个后端,但现在我需要将其投入生产,以便我可以在我构建的 Slack 应用程序中使用它。
为了在本地测试代码,我只使用 Slack API 运行我的文件并go run main.go使用ngrokSlack API 进行测试,它正在工作并且已完成。
我有一个使用 Ubuntu 16.04.3 的 Droplet,另一个使用 Centos 7 的 Droplet...我正在寻找类似pm2go 的东西,运行服务器并使用 nginx 来指向该端口,但我读到 Go 是不同的,我必须使用像这样的https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/
但这对于一个简单的服务器来说是一个非常长的配置,我的问题是:
这确实是我第一次使用 Go,我只是想了解更多,我是 Laravel 和 NodeJS 的后端开发人员。
我已经确定,在 Python TkInter GUI 程序中,最佳实践是将整个内容包含在 try / except 块中,以便捕获所有异常并将其呈现给最终用户(而不是默默地出现问题或程序似乎无缘无故地退出)。
然而,这种方法存在一些问题。考虑以下小程序,当单击按钮时,该程序会尝试除以 0:
import tkinter
class Foo():
def __init__(self):
# Initialize a new GUI window
root = tkinter.Tk()
# The "Generic error" message is shown when the following is uncommented
#number = 1 / 0
# Define a button and draw it
button = tkinter.Button(root, text='Generate an error', command=self.generate_error)
button.pack()
# Loop forever
root.mainloop()
def generate_error(self):
# The "Generic error" message is not shown
number = 1 / 0
if __name__ == …Run Code Online (Sandbox Code Playgroud)