小编Fab*_*ian的帖子

如何使警报对话框填充90%的屏幕大小?

我可以创建并显示一个自定义警报对话框,但即便如此,我android:layout_width/height="fill_parent"在对话框xml中它只有内容一样大.

我想要的是填充整个屏幕的对话框,除了20像素的填充.然后,作为对话框一部分的图像将使用fill_parent自动拉伸到完整的对话框大小.

android dialog

282
推荐指数
17
解决办法
30万
查看次数

如何在 Flutter for web TextField 上触发 onSubscribed

我有一个小型的网络扑动应用程序,并显示一个文本字段。

现在,每当用户离开 TextField(焦点丢失)或按下 Enter 键时,我都需要像 onSubscribed 那样的回调。现在我根本无法进行任何回调。

TextField(
  decoration: InputDecoration(
    labelText: 'Name',
  ),
  controller: TextEditingController(text: event.name),
  onEditingComplete: () { print("editing complete"); },
  onSubmitted: (String value) { print("submitted\n"); },
  maxLines: 1,
),
Run Code Online (Sandbox Code Playgroud)

flutter flutter-web

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

如何辨别 dart 中是否给出了可选的命名参数?

我正在实施一个 redux 商店,我将商店视为不可变的。因此,商店看起来像这样:

class State {
  final String firstname;
  final String lastname;

  State(this.firstname, this.lastname);

  State.initial()
      : this.firstname = null,
        this.lastname = null;

  State copy({String firstname, String lastname}) => 
    new State(firstname ?? this.firstname, lastname ?? this.lastname);
}
Run Code Online (Sandbox Code Playgroud)

这一切正常,我可以复制状态并替换副本中的各个字段。

state.copy(firstname: "foo");
Run Code Online (Sandbox Code Playgroud)

但现在我当然不能将字段设置回 null。

state.copy(firstname: null); 
Run Code Online (Sandbox Code Playgroud)

不起作用。

我也尝试过类似的事情:

State copy({String firstname = this.firstname, String lastname = this.lastname}) => ...
Run Code Online (Sandbox Code Playgroud)

但 Dart 不允许非 const 作为默认值。

dart

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

如何评估字符串中的shell变量?

在我的Perl脚本中,我获得了可能包含环境变量的文件路径字符串,例如$FONTS/test.ttf$TMP/file.txt.

我现在想要打开这样的文件:

open my $handle, "<$filename" or die $!;
Run Code Online (Sandbox Code Playgroud)

我现在如何在打开调用之前扩展环境变量,例如bash shell会做什么?

perl

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

从QML访问Python QObject无法在第二次调用时进行转换

我用我的Python3 QML程序遇到了一个不起眼的问题(bug?).我实现了一个带有自定义get方法的QAbstractListModel来获取底层的QObject项.我尝试在QML中的两个不同位置获取相同的Python QObject时,我得到:

TypeError: unable to convert a Python 'QMyItem' object to a C++ 'QObject*' instance
Run Code Online (Sandbox Code Playgroud)

get方法如下所示:

@pyqtSlot(int, result=QMyItem)
def get(self, row):
    return self._items[row]
Run Code Online (Sandbox Code Playgroud)

这样的模型:

ComboBox {
    model: mymodel
    textRole: 'name'
    onActivated: mymodel.item = model.get(index)
    onModelChanged: currentIndex = getCurrentIndex(mymodel, mymodel.item)
}
Run Code Online (Sandbox Code Playgroud)

问题实际上与我检索QObject的方式无关.它似乎真的是关于Python到QML的转换.好像转换器保留已经传递的引用列表并以某种方式不同步.

我现在有一个显示错误的最小样本.https://github.com/sturmf/python_samples.git获取源代码并进入该文件夹pyqt_combobox_qabstractlistmodel.在那里开始样品python3 main.py.在显示的ComboBox中,您可以选择项目three但项目one在控制台上显示错误.原因是第一项已经从Python传递到QML,并且第二次不能工作.

也许转换后的QObject在QML端以某种方式收集了垃圾?

python qt pyqt qml

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

寻找一种廉价的方式将全文搜索添加到 firestore

这是我想要做的

让我们假设我有一个带有 firestore 后端的 Angular Dart 应用程序,例如存储书籍。每本书都有标题、摘要和出版日期。现在我想向我的应用程序添加带有分页的全文搜索。由于 firestore 没有全文搜索,如果我想要按出版日期排序的前 10 本书包含“cat”,我需要自己添加它。

失败的尝试

我的第一个想法是使用 Elasticsearch docker 容器并将其部署在 Google Cloud 上。最初我尝试在 Google Kubernetes 上做这件事,但除了有点过于复杂之外,它似乎成本太高了。接下来,我使用 docker 查看了 Google App Engine,但由于 Elasticsearch 容器需要 4GB 内存,因此每月似乎仍高达 60 美元。

所以现在我被困要做什么。查看 Google Compute Engine 并在 VM 中运行 docker。我想知道这要多少钱?或者也许写一些东西从 Google App 实例中与 Google Cloud Search 交互,以某种方式公开结果?

对于我想做的事情来说,所有这些似乎都变得复杂了。我可能有一千本书要索引,其中的数据可能高达 10MB,每月只有几千个查询。

full-text-search dart angular google-cloud-firestore

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

调试jQuery选择器的返回值

我正在寻找一种方法来调试jquery选择器返回的内容.我尝试过使用toString(),但这只会回来[object Object].

我实际上要做的是将回调附加到单选按钮.和onclick 按钮中的一个,我要提交的封闭形式.

因此我尝试做这样的事情:

$(".rating").stars({
    cancelShow: false,
    callback: function(ui, type, value, event) {
        $(this).closest('form').ajaxSubmit();
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有任何事

这是我想要做的完整示例:

<script type="text/javascript" src="http://localhost:8000/media/js/jquery.js?v=1.4.2"></script>
<script type="text/javascript" src="http://localhost:8000/media/js/jquery.form.js?v=2.4.3"></script>
<script type="text/javascript" src="http://localhost:8000/media/js/jquery-ui.custom.min.js?v=1.8"></script>
<script type="text/javascript" language="javascript" src="http://localhost:8000/media/js/jquery.ui.stars.js?v=3.0.0b38"></script>
<link rel="stylesheet" type="text/css" media="all" href="http://localhost:8000/media/css/jquery.ui.stars.css?v=3.0.0b38" />        

<body>
 <script type="text/javascript">
    $(function() {
        $(".rating").children().not(":radio").hide();
        $(".rating").stars({
            cancelShow: false,
            callback: function(ui, type, value, event) {
                alert('NodeName: ' + this.nodeName);
                $(this).each(function() {
                    alert($(this).html());
                });

                alert($(this).length);
            }
        });
    });
 </script>

 <ul class="list">
  <li>
   <form class="rating" id="rating-1" action="/sniphunter/rate/1/" method="post">
    <input …
Run Code Online (Sandbox Code Playgroud)

debugging jquery

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

在div中调用javascript函数

我想创建一个包含几个div的网页,每个div包含具有不同实现的相同绘制函数(如通用接口).加载页面后,我想遍历所有div并一个接一个地调用每个绘制函数.

到目前为止,我的页面如下所示:

<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  <script language="javascript" type="text/javascript" src="jquery-1.8.2.js"></script>
</head>
<body>

  <script type='text/javascript'>
    $( document ).ready( function() {
      // Draw all slots
      $('div.slot').each(function(i, d) {
        console.log('slot found: ' + d.id);
        // d.draw() does not work
        draw();
      });
    });
  </script>

  <div class="slot" id="slot1">
    <script type='text/javascript'>
      function draw() {
        console.log('Here we draw a circle');
      };
    </script>
  </div>

  <div class="slot" id="slot2">
    <script type='text/javascript'>
      function draw() {
        console.log('Here we do something totally different and draw a rectangle');
      };
    </script>
  </div>

</body> …
Run Code Online (Sandbox Code Playgroud)

javascript call

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

我想将Qt QML Combobox设置为PyQt5对象属性

我正在编写一个小程序,它使用Qt5 QML作为GUI层,使用Python3-PyQt5来实现数据模型.

我现在想要ComboBox在QML中显示并将其模型设置为枚举列表.我如何将枚举作为python类的属性导出,以便我可以在QML中引用它?

我最好用QML写这个:

ComboBox {
  model: mymodel.car_manufacturers
  onCurrentIndexChanged: mymodel.selected_manufacturer = currentIndex
}
Run Code Online (Sandbox Code Playgroud)

python qt qml qt-quick

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

py.test无法导入我的模块

我正在努力获得一个python导入权.我想要实现的是拥有一个包含多个源文件的模块和一个带有单元测试的测试文件夹.

不管我做什么,我都不能让py.test-3来执行我的测试.我的目录布局如下所示:

.
??? module
?   ??? __init__.py
?   ??? testclass.py
??? tests
    ??? test_testclass.py
Run Code Online (Sandbox Code Playgroud)

__init__.py文件如下所示:

__all__ = ['testclass']
Run Code Online (Sandbox Code Playgroud)

testclass.py文件如下所示:

class TestClass(object):

    def __init__(self):
        self.id = 1
Run Code Online (Sandbox Code Playgroud)

我的单元测试如下:

import pytest
from module import TestClass

def test_test_class():
    tc = TestClass()
    assert(tc.id==1)
Run Code Online (Sandbox Code Playgroud)

无论我如何调用py.test-3,我最终会得到:

E   ImportError: No module named 'module'
Run Code Online (Sandbox Code Playgroud)

python unit-testing pytest python-3.x

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