小编Fed*_*o S的帖子

有没有办法开始使用 plotly 在特定区域上缩放的绘图?

我有一个用 plotly 制作的散点图(特别是在 Jupyter Notebook 上使用 Python API 离线绘图),如您所知,plotly 使用户可以轻松缩放和框定特定区域,但我希望绘图已经开始专注于我选择的特定领域。

我在文档中找不到任何相关内容(可能是因为我不知道去哪里查找或查找哪些术语)。有没有办法做到这一点,如果有,怎么做?当使用子图而不是 Figure 对象时,设置有何不同?

python plot zooming plotly plotly-python

7
推荐指数
2
解决办法
5950
查看次数

Kivy RecycleView可以替代ListView吗?它是如何工作的?

我应该以我仍然是Kivy的新手开头。我试图寻找类似的问题,但它们要么过时,要么不清楚。

我一直在寻找一种显示元素列表的方法,在这些元素中,一个使用过的元素可以选择一个元素以与其他小部件(按钮等)进行交互。我偶然发现了ListView文档页面,但明确指出不赞成使用ListView,而必须使用RecycleView

现在的问题是(至少对我来说)文档关于如何使用RecycleView不太清楚。它肯定比其他小部件复杂,我似乎无法弄清楚。

要将其分解为更易消化的问题:1.如何定义充当项目列表的RecycleView?2.我该如何提供物品?3.我如何与之交互,特别是一次只能选择一项,检测何时选择了某项,并在事件发生时自动进行了某项选择?

哦,对了,我更喜欢尽可能使用kv语言。

在查找或理解文档资源方面,我将不胜感激,这些资源将使我能够更广泛地理解此信息,以备将来使用。我真的希望有一个针对这些复杂功能的教程,但是如果它存在的话,那真是很难找到它。

python-3.x kivy kivy-language

6
推荐指数
1
解决办法
5287
查看次数

当其他测试运行时,pytest装置中的mock.patch不起作用

给出以下代码和测试:

# some module

from other.module import a_func  # returns False by default


def do_stuff():
    return "banana" if a_func() else "pear"

#############################

# tests in a different module

@pytest.fixture
def my_fixture():
    with mock.patch("other.module.a_func", lambda: True):
        yield


class TestMyStuff:
    def test_something(self):
        assert do_stuff() == "pear"

    def test_something_else(self, my_fixture):
        assert do_stuff() == "banana"
Run Code Online (Sandbox Code Playgroud)

如果我一次运行所有测试,最后一个测试会失败,但如果我只运行它,最后一个测试会成功。

我知道这可能是因为在test_something_else运行时,other.module.a_func已经导入并加载了补丁,因此补丁没有生效。

我该如何让它工作,或者我应该如何重组我的代码,以便我可以模拟 的结果a_func来测试 的不同结果do_stuff

python mocking fixtures pytest

6
推荐指数
1
解决办法
1781
查看次数

为混淆 YAML 配置文件设置自定义目录

我正在尝试使用库为 python 项目设置 YAML 配置文件,但我不想使用建议的目录进行配置,例如~/.config/app/etc/app用于 linux。我已尝试使用此处文档中概述的环境变量设置路径。

有没有人有使用环境变量使其工作的经验?

我真的不明白为什么 API 不只是让你传递文件路径,这种方法对我来说似乎不必要地复杂。我怀疑有一个很好的理由我只是不明白!我会想在大多数情况下配置文件会在你的 python 项目目录中?

python yaml

5
推荐指数
1
解决办法
947
查看次数

如何对 Vue 3“脚本设置”组合 API 上的路由更改做出反应?

这是我的应用程序中的路线示例:

{
  path: "/something",
  name: "SomeRoute",
  component: SomeComponent,
  meta: {showExtra: true},
},
{
  path: "/somethingElse",
  name: "SomeOtherRoute",
  component: SomeOtherComponent,
},
Run Code Online (Sandbox Code Playgroud)

然后我有以下组件,您会注意到它有两个script标签,一个带有组合 API,一个没有:

<template>
  <div>
    This will always be visible. Also here's a number: {{ number }}
  </div>

  <div v-if="showExtra">
    This will be hidden in some routes.
  </div>
</template>

<script setup lang="ts">
import type { RouteLocationNormalized } from "vue-router"
import { ref } from "vue"

const number = 5
const showExtra = ref(true)

const onRouteChange = (to: RouteLocationNormalized) => …
Run Code Online (Sandbox Code Playgroud)

javascript refactoring typescript vue.js vue-router

5
推荐指数
1
解决办法
1万
查看次数

json.dumps() 使用自定义 __new__ 将 StrEnum 编码为空字符串

我有一个类似于以下内容的枚举:

from enum import Enum


class Currencies(str, Enum):
    EURO = ("EUR", True)
    YEN = ("JPY", False)

    supports_decimals: bool

    def __new__(cls, value: str, supports_decimals: bool):
        obj = super().__new__(cls)
        obj._value_ = value
        setattr(obj, "supports_decimals", supports_decimals)

        return obj
Run Code Online (Sandbox Code Playgroud)

这允许这样的事情:

>>> Currencies.EURO.value
'EUR'
>>> Currencies.EURO.supports_decimals
True
>>> f"{Currencies.EURO}"
'EUR'
Run Code Online (Sandbox Code Playgroud)

然而:

>>> import json
>>> json.dumps(Currencies.EUR)
'""'
Run Code Online (Sandbox Code Playgroud)

如果我的枚举具有简单的字符串成员而不是元组,那么这将起作用,但它会导致空字符串,并且由于枚举的成员被视为str,所以自定义编码器类根本不会调用.default()它们,所以我无法定义他们的自定义编码。

问题可能归结为str.encode(),因为确实:

>>> Currencies.EUR.encode()
b''
Run Code Online (Sandbox Code Playgroud)

但即使知道这一点,我也不知道如何指示json.dumps()使用会员的_value_. 我尝试覆盖encode()并且可以Currencies.EUR.encode()工作,但json.dumps()仍然返回一个空字符串。

请注意,我宁愿保留枚举 a str, Enum,因为将其转换为简单的枚举会使我的应用程序的其他部分变得复杂。

python enums serialization json

1
推荐指数
1
解决办法
90
查看次数

How to limit how much the user can resize a JavaFX window?

I am looking for ways to limit how much a user can resize the main window of my application, without preventing resizing completely. Specifically, I want to set minimum width and height for the window, and you'd think minWidth and minHeight would achieve this, but apparently they do not.

The root element of my window (declared in fxml) looks like this:

<VBox xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml"
      fx:controller="com.my.module.FXMLController"
      minWidth="400.0">
    <!-- ... -->
</VBox>
Run Code Online (Sandbox Code Playgroud)

But all that minWidth seems to be doing is setting …

java user-interface resize javafx fxml

0
推荐指数
1
解决办法
55
查看次数