问题列表 - 第287802页

如何在 Elm 0.19 中监听全局鼠标事件?

要在 Elm 中侦听 HTML 元素上的鼠标事件,我们可以使用Html.Events.onClick。但是,我想在文档的任何地方监听鼠标点击。

我找到了elm-lang/mouse提供Mouse.clicks的包,它似乎就是为此而设计的。在 Elm 0.18 上,可以这样安装:

elm-package install elm-lang/mouse
Run Code Online (Sandbox Code Playgroud)

并像这样导入:

import Mouse exposing (clicks)
Run Code Online (Sandbox Code Playgroud)

但是在 Elm 0.19 上,命令

import Mouse exposing (clicks)
Run Code Online (Sandbox Code Playgroud)

不起作用:

以下软件包目前不适用于 Elm 0.19.0:

elm-lang/mouse
Run Code Online (Sandbox Code Playgroud)

控制台输出中没有给出原因。该文档似乎没有表明该模块在 0.19 版本中发生了任何变化。

如何安装模块?或者,我如何使用 Elm 的标准库来全局(在文档上)监听鼠标点击?

onclick mouseevent elm

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

为什么我收到“SyntaxWarning:无效转义序列 \s”警告?

re.compile('\s+', flags = re.UNICODE)
Run Code Online (Sandbox Code Playgroud)

上面的代码在 python3 中给出了以下警告。

SyntaxWarning: invalid escape sequence \s
Run Code Online (Sandbox Code Playgroud)

我通过使用修复它r'\s+'。这是解决问题的正确方法吗?

python-3.x

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

clang++ 8.0.1 自分配重载警告

考虑这段代码:

class Vector {
public:
    Vector& operator+=(const Vector &v) { return *this; }
    Vector& operator-=(const Vector &v) { return *this; }
    Vector& operator*=(const Vector &v) { return *this; }
    Vector& operator/=(const Vector &v) { return *this; }
};

int main()
{
    Vector v;
    v += v;
    v -= v;
    v *= v;
    v /= v;
}
Run Code Online (Sandbox Code Playgroud)

当使用 clang++ 8.0.1 编译时,我收到以下警告:

$ clang++ -Wall example2.cpp -o example2
example2.cpp:13:7: warning: explicitly assigning value of variable of type 'Vector' to
      itself [-Wself-assign-overloaded]
    v …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-warnings clang++

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

将 Gradle 和 Android Studio 更新到 3.5 后复制 Hamcrest 和 JUnit 类

更新到 Android Studio 3.5 gradle 后无法构建。原因是古老而众所周知的,但从来都不是整个构建失败的原因:Hamcrest 和 JUnit 的重复类。

在模块 hamcrest-core-1.1.jar (org.hamcrest:hamcrest-core:1.1) 和 junit-4.10.jar (junit:junit:4.10) 中发现重复的类 org.hamcrest.BaseMatcher

(还有更多的类)

关键是我从未听说过 Hamcrest 和 JUnit 大约在一年前甚至更长时间之前从我的项目中删除,正如您所看到的,错误描述中提到的 libs 版本也很旧。我能用这个做什么?

下面我将描述我所做的所有活动:

  1. 清理和重建项目,在项目中寻找 Hamcrest 和 JUnit 出现 - 什么都没有!

  2. 删除projecthome/.gradleprojecthome/.idea(结果 - 将它们的总大小从 67,5 MB 减少到 6 MB)。

    以下文件不断在“/.idea/libraries”文件夹中重新创建:

    Gradle__org_hamcrest_hamcrest_core_1_1_jar
    Gradle__junit_junit_4_10_jar
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除userhome/.gradle/caches(唯一的结果:将文件夹大小从 ~800 MB 减少到 323 MB)。

  4. 使 Android Studio 中的缓存/重启选项无效。

  5. 总共点 2-4。

  6. 降级到'com.android.tools.build:gradle:3.4.2'

一切都没有改变。请帮忙。

编辑:

org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures.
at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:386)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio android-gradle-plugin

10
推荐指数
2
解决办法
4204
查看次数

如何将派生类的std :: list而不是父类的std :: list传递给函数?

为什么第二次调用print_all函数会导致静态语义错误

#include <list>
using std::list;
class foo {
    // ...
};
class bar : public foo {
    // ...
};

static void print_all(list<foo*>& L) {
    // ...
}

list<foo*> LF;
list<bar*> LB;
// ...
print_all(LF); // works fine 
print_all(LB); // static semantic error
Run Code Online (Sandbox Code Playgroud)

c++ inheritance class function stdlist

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

Django 重写详细视图 get 方法

这是我的帖子详细视图,效果非常好。

class PostDetailView(DetailView):
    model = Post
    context_object_name = 'post'
    template_name = 'posts/detail.html'

    def get_queryset(self, *args, **kwargs):
        request = self.request
        pk = self.kwargs.get('pk')
        queryset = Post.objects.filter(pk=pk)
        return queryset

    def get_context_data(self, **kwargs):
        context = super(PostDetailView, self).get_context_data(**kwargs)
        content['comments'] = Comment.objects.all()

        return context
Run Code Online (Sandbox Code Playgroud)

但是,当我将 get 方法添加到视图时,它不再起作用。

def get(self, request, *args, **kwargs):
    # how to return here so that it works exactly like before
Run Code Online (Sandbox Code Playgroud)

添加 get 方法后get_querysetget_context_data不会自动调用,并且模板中的上下文为空。那么 get 方法应该怎样才能让它像以前一样工作呢?

编辑 我的目标是做这样的事情

if request.is_ajax():
    html = render_to_string('comments/detail.html')  # ajax reply with html …
Run Code Online (Sandbox Code Playgroud)

django getmethod detailview

5
推荐指数
2
解决办法
3821
查看次数

诗歌中的 deps 和 dev-deps 有什么区别?

在Poetry 的pyproject.tomldependencies配置文件中,您可以同时指定和dev-dependencies,但文档没有明确说明区别是什么。

我从名称猜想开发依赖项不会由发布版本安装,但我没有注意到任何区别。如何正确使用这些字段,例如排除构建中的开发依赖项

python-poetry

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

如何在 Flutter 中滚动时为列表中的项目设置动画

我想在 Flutter 中创建一个网格列表视图,其效果类似于下面右侧显示的效果。瓷砖的移动与速度成比例地延迟。类似的效果可以在这里看到。

动画列表示例

我尝试修改SliverGridDelegate实现以mainAxisStride根据滚动速度增加值。

在我CustomScrollView,我把修改SliverGridSliverAnimatedGrid)与自定义的委托,我叫SliverGridDelegateWithFixedCrossAxisCountAndAnimation这是基于SliverGridDelegateWithFixedCrossAxisCount

SliverGridDelegateWithFixedCrossAxisCountAndAnimationScrollControllergetLayout(SliverConstraints constraints)函数中接受 并使用其速度来增加mainAxisStride网格。

当前实现:

  @override
  SliverGridLayout getLayout(SliverConstraints constraints) {
    assert(_debugAssertIsValid());
    final double usableCrossAxisExtent =
        constraints.crossAxisExtent - crossAxisSpacing * (crossAxisCount - 1);
    final double childCrossAxisExtent = usableCrossAxisExtent / crossAxisCount;
    final double childMainAxisExtent = childCrossAxisExtent / childAspectRatio;
    // Here accessing scroll controller velocity
    final velocity = (controller.position.activity.velocity / 100.0).clamp(0, 20);
    return SliverGridRegularTileLayout(
      crossAxisCount: crossAxisCount,
      mainAxisStride: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-sliver

5
推荐指数
0
解决办法
659
查看次数

房间数据库:仍然收到“参数‘id’没有传递任何值”,即使它是自动生成的

这是我的房间实体:

@Entity(tableName = "matched_users")
data class MatchedUser(
    @PrimaryKey(autoGenerate = true) val id: Int,
    @ColumnInfo(name = "match_id") val matchId: String
)
Run Code Online (Sandbox Code Playgroud)

这是我在我的片段中实例化它:

private fun pass(){
    CoroutineScope(coroutineContext).launch {
            val match = MatchedUser()
       CustomApplication.database?.matchedUsersDao()?.addMatchUid(match)
            Log.d(TAG, "Added matchId to DB")
        }
    return removeUser2()
}
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在上面时,MatchedUser()它仍然说我需要传递 .. 的参数id,但它应该按照实体中的说明自动生成。

知道为什么吗?

android kotlin android-room

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

AWSMobileClient iOS SDK-获取AWS凭证时无法获取身份ID

我有一个使用Cocoapods安装的AWSMobileClient SDK(v2.9.9)的iOS Swift项目。

应用中经常使用一种有问题的方法:

AWSMobileClient.sharedInstance().getAWSCredentials { (credentials, error) in ... }
Run Code Online (Sandbox Code Playgroud)

并且发生一个特定的致命错误:

在另一个线程中获取身份ID失败或在5秒钟内未完成。

在某些设备上,它可以在90%的时间内正常工作,并且通常只在一系列步骤之后才会发生-例如登录,注销,再次登录(登录后称为该方法)。

但是,最近一次在我一直在测试的新设备上出现过一次

还有一个堆栈问题在这里,暗示另一AWS SDK操作可以并行运行的时候getAWSCredentials被调用-但审查我的代码后,我相当肯定这是不是这样的。

我还尝试在发生故障的设备上运行此方法,以查看是否可以提供任何线索:

AWSMobileClient.sharedInstance().getIdentityId().continueWith { task -> Any? in ... }
Run Code Online (Sandbox Code Playgroud)

并返回此错误:

在另一个线程上获取标识ID失败。请通过调用getIdentityId()方法重试 。

我花了数小时来查看自己的代码和导致错误的堆栈跟踪,并陷入了如何解决甚至进一步调试的死路。

希望有人能够提出一些帮助我的建议-谢谢!:)

amazon-web-services ios swift aws-sdk aws-amplify

8
推荐指数
0
解决办法
136
查看次数