小编thr*_*exx的帖子

OpenCV Python:如何检测窗口是否关闭?

我有以下代码:

total_frames = 50
cv2.cv.NamedWindow("Dragonfly Simulation")
cv2.cv.StartWindowThread()
for i in range(total_frames):
    # do stuff
    img_name = # something
    img = cv2.cv.LoadImage(img_name)
    cv2.cv.ShowImage("Dragonfly Simulation", img)
    cv2.cv.WaitKey(2)
cv2.cv.DestroyWindow("Dragonfly Simulation")
cv2.cv.WaitKey(1)
# rest of code
Run Code Online (Sandbox Code Playgroud)

那么它做了什么:

  1. 打开一个窗口
  2. 在循环中,在窗口上显示图像
  3. 完成后,关闭窗口
  4. 运行其余代码

但是在这种情况下,我有total_frame之前给出的.我不希望这样.

相反,我想要一个执行以下操作的代码:

  1. 打开一个窗口
  2. 在循环中,在窗口上显示图像
  3. 等待用户关闭该窗口
  4. 当用户关闭该窗口时,退出循环,继续执行其余代码.

但是,我在OpenCV中找不到可以检测用户何时关闭窗口的函数.有人可以建议一个解决方法吗?

python opencv

13
推荐指数
3
解决办法
2万
查看次数

AngularJS窗口滚动事件不会触发

我知道这个问题有一些类似的问题,但我没有一个解决方案可以帮助我.

我正在使用AngularJS并想要检测滚动事件.我尝试了很多关于如何获取事件的版本,但是最初它会在首次加载时触发,然后再也不会.

我上次尝试的代码如下:

$($window).on('scroll', alert('scrolled'));
Run Code Online (Sandbox Code Playgroud)

但我也试过这个:

还有更多,但没有任何作用.

谁能告诉我我做错了什么?

更新:我尝试了指令的东西,这与safari BUT完全正常,但不与chrome.这是怎么回事?

Update2:使用shift键时,它适用于chrome移动视图.铬到苹果触控板有什么限制吗?WTF?

javascript jquery angularjs

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

在leaftlet中的不同标记组

我正在使用Angular和传单,并希望构建一个具有不同标记的地图,例如:船舶和桥梁.我想单独更新它们,而无需再次删除和设置所有标记.因此,当我有新船时,我只想调用船标记,更新它们并且桥标记保持不变.

现在,我尝试过这样的事情:

angular.module('angularMapApp')
  .controller('MainCtrl', ['$scope', 'RequestService', 'setShipMarkers', '$q', function($scope, RequestService, setShipMarkers, $q) {

    angular.extend($scope, {
      hamburg: {
        lat: 53.551086,
        lng: 9.993682,
        zoom: 13
      },
      markers: {
        ships: {
          m1: {
              lat: 42.20133,
              lng: 2.19110
          },
          m2: {
              lat: 42.21133,
              lng: 2.18110
          }

        },
        bridges: {
            m3: {
                lat: 42.19133,
                lng: 2.18110
            },
            m4: {
                lat: 42.3,
                lng: 2.16110
            }

        }
      },
      defaults: {
        tileLayer: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',
        zoomControlPosition: 'topright',
        tileLayerOptions: {
            opacity: 0.9,
            detectRetina: true,
            reuseTiles: true,
        },
        scrollWheelZoom: false
      }
    }); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs leaflet

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

无法删除当前工作目录之外的文件 Grunt

我正在使用 grunt 来构建我的 Angular 项目。所以它运行良好,但在某些时候我无法再运行“gruntserve”或“gruntbuild”。每次我收到以下错误消息时

无法删除当前工作目录之外的文件

奇怪的是,我是唯一一个遇到此错误的人。我所有的同事都可以毫无错误地构建或服务。当然,我找到了一个解决方案(使用“--force”),但我认为这不是解决方案,因为我是唯一遇到此错误的人。任何人都可以向我解释这个错误,也许可以给出比强制选项更好的解决方案!

// Empties folders to start fresh
    clean: {
      dist: {
        files: [{
          dot: true,
          src: [
            '.tmp',
            '<%= yeoman.dist %>/{,*/}*',
            '!<%= yeoman.dist %>/.git{,*/}*'
          ]
        }]
      },
      server: '.tmp'
    }, 
Run Code Online (Sandbox Code Playgroud)

gruntjs

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

如何在 Ansible 中获取“inventory_hostname”的第一部分?

我正在尝试获取我的第一部分inventory_hostname

server00122.linux.ca.domain.com

我想要的只是这个server00122部分。

我的代码:

hostName: "{{ inventory_hostname | basename }}"
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码。然而,它只给了我相同的输出。

ansible

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

使用ngmap Angularjs的HTML中的客户标记

我正在做一个项目,我使用带有angularjs的ngmap 1.13.13在地图上显示了大量的船只.我想在我的地图上有自定义标记.但是我从来没有把它们放在我的地图上,或者如果它们没有缩放.我尝试了不同的方法,这里有两个:

<div ng-repeat="p in points"> 
<marker icon="http://www.cliparthut.com/clip-arts/823/arrowhead-clip-art-823528.png" icon.scale="0.1" position="{{p.latitude}}, {{p.longitude}}"></marker> 
</div>
Run Code Online (Sandbox Code Playgroud)

也做了这个:(这里显示的图像,但规模不起作用)

<div ng-repeat="p in points">
<marker icon="{url: '../../images/delta.png', scale: 10}" position="{{p.latitude}}, {{p.longitude}}"></marker>
</div> 
Run Code Online (Sandbox Code Playgroud)

但没有任何效果,图标显示得太大或根本没有显示.特别是我只想使用自定义比例的自定义图像.我看到很多其他帖子,他们在控制器中定义标记,但后来我不知道如何"告诉"我的视图它应该使用控制器中的预定义标记.

javascript html5 google-maps google-maps-api-3 angularjs

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

表单中的 Button_to 标记关闭表单

我目前正在使用 ruby​​ on rails 3 中的表单。所以在我的项目表单中,我有一个按钮可以让用户退出这个项目。然而,奇怪的是,该button_to标签关闭了我的整个表单,我不能再使用我的提交按钮。

所以我尝试了很多,但我不明白为什么会发生这种情况。

所以这是我的表格:

<%= form_for @project, html: { class: "form-horizontal project" } do |f| %>
    <div>
          <%= f.label :users, 'Project Users:',  :class => 'control-label', style: 'margin-bottom: 20px' %>
          <div>
            <% @project.users.order('last_name').each do |user| %>
                      <div style="margin-bottom: 15px">
                        <%= user.name %>
                          <%= button_to 'Sign Out', sign_user_out_project_path(user_id: user.id, id: @project), method: :delete, class: 'btn btn-danger btn-xs pull-right', style:'margin-right: 600px; margin-top: -20px' %>
                      </div>
            <% end %>
          </div>
        </div>


      <%= f.submit nil, :class => 'btn btn-primary' …
Run Code Online (Sandbox Code Playgroud)

ruby forms ruby-on-rails ruby-on-rails-3

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

Angular2 - 测试一个调用内部http服务的函数

我目前正在尝试测试调用http请求服务的函数,然后在订阅部分执行某些操作(调用函数并设置变量).到目前为止,我的方法是调用函数,我认为将自动调用请求服务,因此将执行订阅部分.但是,我觉得这不是这样做的方式,因为它不起作用.

我要测试的功能:

  public trainBot() {
    this.isTraining = true;
    this.requestsService.trainModel(this.botId, false)
      .subscribe(response => {
        this.trainingStatus = this.trainingStatusMapping[response['status']];
        this.pollTrainingStatus();
      });
  }
Run Code Online (Sandbox Code Playgroud)

到目前为止我的测试(这不起作用).

it('should poll the training status', () => {
    spyOn(component, 'pollTrainingStatus').and.callThrough();
    component.trainBot();
    fixture.detectChanges();
    expect(component.pollTrainingStatus).toHaveBeenCalled();
  });
Run Code Online (Sandbox Code Playgroud)

那么,任何人都可以告诉我如何测试.subscribe中的那部分(...部分?

更新:

正如有人建议我将returnValue和async添加到我的测试中.他们仍然没有工作,但现在看起来像这样:

it('should poll the training status', fakeAsync(() => {
    component.trainBot();
    spyOn(service, 'trainModel').and.returnValue(Observable.of({'status': 'training'}));
    spyOn(component, 'pollTrainingStatus').and.callThrough();
    fixture.detectChanges();
    tick(1);
    expect(service.trainModel).toHaveBeenCalled();
    expect(component.pollTrainingStatus).toHaveBeenCalled();
  }));
Run Code Online (Sandbox Code Playgroud)

错误是一样的

unit-testing typescript angular

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

Spark 报错:Files\Java\jdk1.8.0_131""=="x" 此时出乎意料

由于某种原因,Spark 由于错误而停止工作:

Files\Java\jdk1.8.0_131""=="x" 这时候出乎意料。

我在具有管理员权限的命令提示符下在 Windows10 上运行 Spark。

我试图解决问题的事情:

  • 删除了 Spark 文件夹下的所有文件和文件夹
  • 从 .tar 重新提取文件
  • 重新安装 Java 并重新创建 Java 环境变量

我在用:

  • java版本“1.8.0_131”

java apache-spark

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

如何在.scss文件中导入.js文件

我正在做白标角度网络应用程序.是否可以在header.scss文件中导入我的config.js文件?

我尝试在我的header.scss文件中导入它:

@import '../../mixins.scss';
@import { themeColor } '../../config';

header{background-color: themeColor.backgroundColor; color:themeColor.color}
Run Code Online (Sandbox Code Playgroud)

我的配置文件:

export const themeColor = (buttonColor, textColor) =>({
    backgroundColor: buttonColor,
    color:textColor
})
Run Code Online (Sandbox Code Playgroud)

但是,我收到了一个错误.如何正确导入?

javascript sass

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

NodeJS:从 sftp 服务器读取 csv 文件并将其转换为 JSON

我正在使用 ssh2-sftp-client 读取 CSV 文件并创建一个 ReadableStream。然后我试图在库 csvtojson 的帮助下将此 readableStream 转换为 Json。但是,我总是收到以下错误:

类型错误:readStream.pipe 不是函数

到目前为止,这是我的代码:

let Client = require('ssh2-sftp-client');
let sftp = new Client();
var csv = require("csvtojson");

sftp.connect({
    host: 'HOST',
    port: 'PORT',
    username: 'USERNAME',
    password: 'PASSWORD'
}).then(() => {
    return sftp.get('/home/user/etc/testfile.csv');
}).then((data) => {
    csv()
        .fromStream(data)
        .subscribe(function (jsonObj) { //single json object will be emitted for each csv line
            // parse each json asynchronousely
            return new Promise(function (resolve, reject) {
                resolve()
                console.log(jsonObj);
            })
        })

}).catch((err) => {
    console.log(err, 'catch error'); …
Run Code Online (Sandbox Code Playgroud)

sftp node.js ssh2-sftp

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

Angular2单元测试 - 未触发MdCheckbox中的更改事件

我有一个复选框,它有一个(更改)函数,它将变量'isSelected'设置为change函数的event.checked值.现在我尝试在stackoverflow上这个问题的帮助下测试它.但是,我觉得(更改)事件没有被触发,因为'isSelected'没有改变.我还尝试在(更改)之后触发的函数上使用spyOn,但这仍然返回该函数未被调用(当前测试).也许有人知道如何发现变化以及我做错了什么.这是我的代码:

import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';

@Component({
  selector: 'app-intents-checkbox',
  templateUrl: 'intents-checkbox.component.html',
  styleUrls: ['intents-checkbox.component.scss']
})
export class IntentsCheckboxComponent implements OnChanges {

  @Input() intentId;

  constructor() { }

  public isSelected = false;


  intentChecked(event, intentId): void {
    this.isSelected = event.checked;
  }
}
Run Code Online (Sandbox Code Playgroud)

html:

<md-checkbox [checked]="isSelected"
             (change)="intentChecked($event, intentId)"
             class="project-checkbox">
</md-checkbox>
Run Code Online (Sandbox Code Playgroud)

到目前为止我的测试:

it('should call intentChecked on change checkbox', () => {
    let de = fixture.debugElement.query(By.css('.project-checkbox'));
    de.triggerEventHandler('click', {});
    fixture.detectChanges();
    expect(component.intentChecked).toHaveBeenCalled();
  })
Run Code Online (Sandbox Code Playgroud)

(因此测试的结果是它失败了,因为没有按预期调用intentChecked).

谢谢!

unit-testing typescript angular-material2 angular

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