小编Xol*_*lve的帖子

QtWebkit:控制台应用程序

我是Qt的新手.

我正在构建一个控制台应用程序,我需要处理许多真实世界的HTML页面.QtWebkit是一个简单的选择,因为它有明确的API和易用性.

我检查了文档,他们说我可以使用QWebView :: load()加载页面.但我正在构建一个控制台应用程序,我无法使用小部件.我得到的错误是:?

QWidget: Cannot create a QWidget when no GUI is being used
The program has unexpectedly finished.
Run Code Online (Sandbox Code Playgroud)

那么如何在控制台应用程序中使用QtWebkit处理html页面.

qt console-application qtwebkit

6
推荐指数
2
解决办法
4792
查看次数

C++太多的析构函数称为这么少的对象

这是代码(也在http://pastebin.com/yw5z2hnG):

#include <iostream>
#include <vector>
using namespace std;

class X
{
    public:
    int i;
    X();
    ~X();
};

X::X()
{
    i = 1;
    cout << "---constructor" << '\n';
}

X::~X()
{
    cout << "***desctructor" << '\n';
}

int main()
{
    vector<X> *vx = new vector<X>;
    cout << "------------------------------------" << endl;
    vx->push_back(X());
    vx->push_back(X());
    vx->push_back(X());
    vx->push_back(X());
    vx->push_back(X());
    cout << "------------------------------------" << endl;
    delete vx;
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:

------------------------------------
---constructor
***desctructor
---constructor
***desctructor
***desctructor
---constructor
***desctructor
***desctructor
***desctructor
---constructor
***desctructor
---constructor
***desctructor
***desctructor …
Run Code Online (Sandbox Code Playgroud)

c++ constructor destructor

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

关于代码管理的好教程?

我很久以来一直在编码,但我从未使用过像CVS或SVN这样的代码管理系统.

能否请您建议任何从基础开始的指南,然后再考虑各个软件的概念及其复杂性.

version-control

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

无法在openCV中显示图像显示窗口

我正在使用openCV python绑定.我试图使用以下列表显示输出图像:

cv.NamedWindow('display')
cv.MoveWindow('display', 10, 10)
cv.ShowImage('display', cvImage)
Run Code Online (Sandbox Code Playgroud)

但我没有看到任何窗口.

我的平台是Linux(openSuse 11.4),python-opencv 2.1和python 2.7.

python opencv window

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

openCV:Sobel边缘检测给我断言错误

我正在使用python-openCV.使用Sobel边缘检测时,我得到以下断言错误:

src.size() == dst.size() && src.channels() == dst.channels() && ((src.depth() == CV_8U && (dst.depth() == CV_16S || dst.depth() == CV_32F)) || (src.depth() == CV_32F && dst.depth() == CV_32F))
Run Code Online (Sandbox Code Playgroud)

我创建dest使用CreateImage()它,它具有相同的大小和通道src.src和dest的深度也是IPL_DEPTH_8U.我也尝试使用加载图像,LoadImageM()以便常量是实物,CV_*但没有帮助.

我也碰巧发现那IPL_DEPTH_8U == CV_8Ufalse.

python opencv edge-detection

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

我可以为 JDB - java 调试器编写脚本吗

我正在使用 JDB 远程调试程序。我可以在 JDB 中编写脚本,以便可以编写循环和 if-else 条件来控制 JDB 如何执行并将 jdb 输出记录到文件中。

我的参考文档是GDB Scripting

java debugging scripting jdb

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

QML:如何在网格中移动项目

我有一个4x4网格,我想将箭头键按下与网格中项目的移动相关联.怎么做到这一点?

这是一个QML示例:

import QtQuick 1.1

Rectangle {
    id: main;
    width: 500; height: 500;
    color: "darkgreen";

    property int emptyBlock: 16;

    Grid {
        id: grid16;
        x: 5; y: 5;
        width: 490; height: 490;
        rows: 4; columns: 4; spacing: 5;

        Repeater {
            model: 1;
            Rectangle {
                width: 118; height: 118; color: "darkblue";
            }
        }
    }

    Keys.onRightPressed: pressRight();

    function pressRight() {
        console.log("Left key pressed");
    }

    focus: true;
}
Run Code Online (Sandbox Code Playgroud)

更新1:感谢sebasgo和alexisdm的答案.如果在网格内移动并不那么容易,为什么我们有move过渡属性[http://qt-project.org/doc/qt-4.8/qml-grid.html#move-prop]

grid qt qml qt-quick

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

调用GetOwner时出现InvalidOperationException

在以下代码中:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Diagnostics;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string javaProcWql = string.Format("SELECT ProcessId, Name, CommandLine FROM Win32_Process WHERE Name = '{0}' AND CommandLine LIKE '%{1}%'", "firefox.exe", "firefox");
            ManagementObjectSearcher mos = new ManagementObjectSearcher(javaProcWql);
            foreach (ManagementObject mo in mos.Get())
            {
                Console.WriteLine(mo["ProcessId"]);
                string[] userinfo = new string[2];
                mo.InvokeMethod("GetOwner", (object[])userinfo);
                Console.WriteLine("ha ha --> " + userinfo[1] + "\\" + userinfo[0]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到InvalidOperationException了消息以及异常是

"由于对象的当前状态,操作无效" …

.net c# wmi wmi-query

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

互斥体可以尊重结构但不能尊重原语

以下代码中结构体Counter包装了u32. 我正在使用Arc包装并Mutex允许对值进行安全和共享的访问。我省略了线程代码以提供一个简单的示例:

use std::sync::{Arc, Mutex};

fn main() {
    #[derive(Debug)]
    struct Counter {
        count: u32,
    }

    let counter = Arc::new(Mutex::new(Counter { count: 0 }));

    for _ in 0..10 {
        let mut c_int = counter.lock().unwrap();
        c_int.count += 1;
    }

    println!("{:?}", counter.lock().unwrap());
}
Run Code Online (Sandbox Code Playgroud)

这里counter.lock().unwrap()能够透明地锁定互斥锁并解开结果,我不需要取消引用Arc. 还c_int透明地取消对作品的引用。

考虑以下代码,其中Counter替换为u32

use std::sync::{Arc, Mutex};

fn main() {
    let counter = Arc::new(Mutex::new(32));

    for _ in 0..10 {
        let mut c_int = …
Run Code Online (Sandbox Code Playgroud)

rust

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

为什么可以将带连字符的 crate 名称更改为带下划线的名称,在这种模棱两可的情况下命名规则是什么?

我创建了一个新的 Cargo 项目:cargo new --lib hyphen-crate.

源代码/库.rs

pub fn add(a: u32, b: u32) -> u32 {
    a + b
}
Run Code Online (Sandbox Code Playgroud)

测试/添加.rs

use hyphen_crate::add;

#[test]
fn addition_test() {
    assert_eq!(5, add(2, 3));
}
Run Code Online (Sandbox Code Playgroud)

Cargo.toml

[package]
name = "hyphen-crate"
version = "0.1.0"
authors = ["xolve"]
edition = "2018"

[dependencies]
Run Code Online (Sandbox Code Playgroud)

我搜索并看到了许多讨论,是否应该在板条箱或包的名称中允许使用连字符,但没有链接提到解决方案。

我看到的是,板条箱名称hyphen-crate会自动转换为hyphen_crate并成功编译和测试。

rust rust-cargo

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