小编tob*_*obi的帖子

VK_CONTROL/VK_MENU/VK_SHIFT的默认值

我们有2 CTRL/ ALT/ SHIFT我们的键盘上的按键.但是在win api中有VK_CONTROL/ VK_LCONTROL/ VK_RCONTROL可用.那么VK_CONTROL? VK_LCONTROL(左)或VK_RCONTROL(右)的默认值是多少?或者它可能会根据某些情况选择价值?无法在MSDN或Google中找到答案.

我认为这与CTRL它们无关- 它们是交替的,但它与例如它有所不同ALT.

c++ keyboard winapi

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

嵌套太深了

我有一些不典型的问题.我向用户提供sendText()函数.他可以输入例如

sendText( "mytext{newline}text{up}" )
Run Code Online (Sandbox Code Playgroud)

{text}是允许用户发送的特殊密钥.有很多特殊键可用.

所以我的第一步是在{}括号之间获取字符串并创建:

if( _specialKey == "newline" ) {
    // action for VK_RETURN
} else if( _specialKey == "up" ) {
    // action for VK_UP
} else .....
Run Code Online (Sandbox Code Playgroud)

例:

if( specialKey == "n" ) {
    // enter click
    unsigned short key = VK_RETURN;
    inputs.push_back( keyDown( key ) );
    inputs.push_back( keyUp( key ) );

    return 2;
} else if( specialKey == "n+" ) {
    // enter down
    inputs.push_back( keyDown( VK_RETURN ) );

    return 2;
} else if( specialKey …
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
3
解决办法
7200
查看次数

我是否应该为A类编写测试,如果它属于B类

我想对测试方法有一些看法.

让我们假设我们有A类和B类.B类使用A类的功能.B类经过全面测试,因此一些测试覆盖也间接应用于A类.

我应该直接为A级写完整的测试吗?或者我应该只测试未测试的A类功能?

我在问,因为将来可能会删除或修改B类,因为它可能不会使用A类中的相同功能,因此可能会留下一些未经测试的方法.你会怎么做?

java unit-testing

8
推荐指数
4
解决办法
438
查看次数

使用QFile创建包含目录的文件

我想知道是否有可能一次性创建带有目录的文件.例如,我想创建文件脚本/ myFile.txt.

我写了这样的代码:

QFile _file( path );
QDir _dir;

// check if "scripts" folder exists
int _dirExists = _dir.exists( "scripts" );
// if not, create it
if( !_dirExists )
    _dir.mkdir( "scripts" );

// open file in write mode (and text mode) 
int _fileOpened = _file.open( QIODevice::WriteOnly | QIODevice::Text );
if( !_fileOpened ) {
// ...
Run Code Online (Sandbox Code Playgroud)

但我不得不使用QDir类,我不喜欢它的样子.我无法理解为什么QFile不像大多数这种框架那样创建必要的目录.或许我错过了什么?

qt

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

确定JPEG的色彩空间

我正在编写一个用于确定JPEG图像颜色空间的代码.我找到了两个可以帮助我实现这个的参考资料.一个是在oracle.com上,另一个是来自ijg.com的C源代码,"负责原始JPEG标准的参考实现".

但他们确实有所不同.例如,在没有Adobe标记的IJG中,有4个通道,它被假定为CMYK,但在oracle中它是YCCA.此外,IJG的实现并未考虑子采样,而对于4通道子采样,它在oracle规范中是YCCK,依此类推.

ColorSpace类中还有许多缺失,当我实现oracle的逻辑时,我需要指定3个额外的颜色空间,如YCCK,YCCA,RGBA.

另一点是,我发现信息JPEG不支持alpha通道透明度在这里,为什么会甲骨文谈论YCCA和RGBA在JPEG metadat说明书的背景下?

结果当用IJG的逻辑检查图像时,它告诉我它是CMYK(在ubuntu上用ImageMagick检查图像,它也说它是CMYK),用oracle的逻辑它是YCCA.谁相信?为什么oracle不依赖于原始的JPEG规范?或者还有其他我不知道的事情?

jpeg image color-space

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

键盘的SendInput() - 仅小写

我有以下代码:

INPUT Input = { 0 };
Input.type       = INPUT_KEYBOARD;
Input.mi.dwFlags = KEYEVENTF_EXTENDEDKEY;
Input.ki.wVk   = 'A'; // tried 0x41, ( UCHAR )VkKeyScan( 'A' )
SendInput( 1, &Input, sizeof( INPUT ) );
Run Code Online (Sandbox Code Playgroud)

但它只会产生'a'.如何强制它生成大写?

谢谢.

keyboard winapi sendinput

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

单击按钮后如何防止关闭 QMessageBox

我在 QMessageBox 上有 3 个按钮,由 QMessageBox::addButton() 方法添加。如果单击了按钮,是否可以防止关闭消息框?默认每个按钮都会关闭窗口,但我不想为一个按钮执行此操作。

编辑:为什么这是downvoted?

c++ qt

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

protobuf 可以部分读取吗?

我想将地形数据保存到文件中并仅加载其中的某些部分,因为它太大而无法将其作为一个整体存储在内存中。实际上我什至不知道 protobuf 是否适合这个目的。

例如,我会有一个类似的结构(可能在语法上无效,我只知道简单的基础知识):

message Quad {
    required int32 x = 1;
    required int32 z = 2;

    repeated int32 y = 3;
}
Run Code Online (Sandbox Code Playgroud)

x和z值在我的程序中可用,通过使用它们,我想找到具有相同xz(在文件中)的正确 Quad 对象以获得y。但是,我不能只使用ParseFromIstream()解析文件,因为(我认为是这样)它将整个文件加载到内存中,但在我的情况下,文件太大了。

那么,protobuf 是否能够加载一个对象,然后发送给我检查它,如果该对象错误,请给我第二个对象?

实际上...我可以问:ParseFromIstream()是否将整个文件加载到内存中?

c++ protocol-buffers

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

为什么 d3 更新整个数据

我有一个 svg 元素,其数据是这样创建的:

var chart = d3.select("#my-div").append("svg");
var chartData = [];
chartData.push([{x: 1, y: 3}, {x: 2, y: 5}]);
chartData.push([{x: 1, y: 2}, {x: 2, y: 3}]);

          .domain([1, 5]);
var lineFunc = d3.svg.line()
    .x(function (d) {
        return xRange(d.x);
    })
    .y(function (d) {
        return yRange(d.y);
    })
    .interpolate('linear');

chart.append('g').classed('lines', true).selectAll('path').data(chartData).enter()
    .append('path')
    .attr('d', function(d) {
        return lineFunc(d);
    })
    .attr('stroke', 'black')
    .attr('stroke-width', 1)
    .attr('fill', 'none');
Run Code Online (Sandbox Code Playgroud)

之后我尝试更新我的数据并更新图表:

chartData[1].push({x: 5, y: 5});
chart.selectAll('g.lines').selectAll('path').data(chartData)
    .attr('d', function(d) {
        console.log('updating:');
        console.log(d);
        return lineFunc(d);
    })
    .attr('stroke', 'black')
    .attr('stroke-width', 1)
    .attr('fill', …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

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

结构冗余

我想从更有经验的程序员那里得到一些意见.我有一个像这样的结构:

struct Position {
    int x;
    int y;
};
Run Code Online (Sandbox Code Playgroud)

但我需要在一个结构中存储例如经度,例如:

struct Longitude {
    int from;
    int to;
};
Run Code Online (Sandbox Code Playgroud)

两者实际上是具有不同名称相同,但xy在的情况下,具有误导性Longitude.你会使用一些typedef Position Longitude而不是定义Longitude结构(但那时我们有x/y ......)?或者使用其他名称创建相同的冗余结构?或许还有其他选择?

c++

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