小编nic*_*day的帖子

如何从插槽中找出哪个信号称为此插槽?

我的意思是,如果我有许多不同的信号连接到同一个插槽.我看到了这个问题,但无法理解答案中的链接.你能给我一个简单的例子吗?

c++ qt qt-signals qtcore qmetaobject

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

在Visual C++调试中,有没有办法在步骤结束后返回先前的状态?

因此,当我想继续前进时,我可以使用f10/f11,但我可以移动到以前的状态吗?不只是以前的位置,因为如果我只是移动或设置光标到previos位置,这不会恢复变量的值.这是不可能的?

c++ visual-studio-2010

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

我可以从位于资源文件中的.ini文件中读取吗?

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSettings>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QSettings * qsettings = new QSettings(":/config.ini",QSettings::IniFormat);
    bool status = qsettings->value("preview","").toBool();
    qDebug() << status;

}

MainWindow::~MainWindow()
{
    delete ui;
}
Run Code Online (Sandbox Code Playgroud)

http://i.imgur.com/XKOBC7o.png
一旦我能做到,但现在我不知道什么是错的.当我用Google搜索这个问题时,我只是看到了这个不可能的事情,但我确信我之前做过这件事.

c++ qt qsettings qtcore qt-resource

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

如何轻松检测字符串中的utf8编码?

我有来自其他程序的数据填充的字符串,这些数据可以是UTF8编码.所以,如果不是我可以编码为UTF8,但在C++中检测UTF8的最佳方法是什么?我看到了这个变种/sf/...但是有评论说这个解决方案没有100%检测.因此,如果我对已经包含UTF8数据的UTF8字符串进行编码,那么我将错误的文本写入数据库.

所以我可以使用这个UTF8检测:

bool is_utf8(const char * string)
{
    if(!string)
        return 0;

    const unsigned char * bytes = (const unsigned char *)string;
    while(*bytes)
    {
        if( (// ASCII
             // use bytes[0] <= 0x7F to allow ASCII control characters
                bytes[0] == 0x09 ||
                bytes[0] == 0x0A ||
                bytes[0] == 0x0D ||
                (0x20 <= bytes[0] && bytes[0] <= 0x7E)
            )
        ) {
            bytes += 1;
            continue;
        }

        if( (// non-overlong 2-byte
                (0xC2 <= bytes[0] && bytes[0] <= 0xDF) &&
                (0x80 <= bytes[1] …
Run Code Online (Sandbox Code Playgroud)

c++ windows string encoding utf-8

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

为什么我需要time()函数的round()函数?

以下是我经常看到的代码示例:

import time
def gettime():
    return int(round(time.time()*1000))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,round()在此代码中使用的原因是什么?time.time()总是在小数点后返回1-2位数,所以round()函数似乎没用.

python

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

为什么我需要在重用之前清除stringstream?

例如:

#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main() {
    int num = 10;
    string str;
    stringstream toString;
    toString << num;
    toString >> str;
    cout << str << "\n"; //10

    int num2 = 20;
    string str2;
    toString << num2;
    toString >> str2;
    cout << str2 << "\n"; //str2 is empty
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道我必须清除这个:

toString.str("");
toString.clear();
Run Code Online (Sandbox Code Playgroud)

但是为什么在使用运算符后它不会自动清除>>

c++ stringstream

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

我在函数中递增指针但在退出函数后返回到先前的位置

#include <iostream>
using namespace std;
void func (char *data)
{
    data+=3;
    cout << data << "\n"; //456789
}

int main() {
    // your code goes here
    char * str = "123456789";
    char *data = str;
    func(data);
    cout << data << "\n"; // 123456789
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?无法理解它是如何可能的.你能解释一下吗?

c++

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

如何设置QSpinbox增量大于+1?

在程序的不同区域,我需要在某处设置不同的增量+1,而在某些地方设置+2或更多.这该怎么做?

c++ user-interface qt qt-creator qspinbox

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

增加未初始化的变量合法吗?

int main() {
 int i;
 i++; // 1
}
Run Code Online (Sandbox Code Playgroud)

我可以确定使用增量后总是得到值“ 1”吗?因为我经常听到变量在初始化之前可以包含任何内容。那是非法的吗?还是如果变量未初始化,增量总是从“ 0”开始?

c++

-3
推荐指数
2
解决办法
542
查看次数