小编sha*_*ote的帖子

如何在QPainter上获取渲染文本的大小?

我在QPainter上的Qt程序中绘制了文本和各种元素.我需要得到这个文本占用的像素大小.

知道文本字符串和字体,我能以某种方式获得像素大小吗?

谢谢.

c++ qt qpainter

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

在C++中设置编码的最正确方法是什么?

如何最好在C++中设置编码?

我习惯了使用Unicode(和工作wchar_t,wstring,wcin,wcout和L "...").我还以UTF-8保存了源代码.

目前我使用MinGW(Windows 7)并在Windows控制台(cmd.exe)中运行我的程序,但有时我可以在GNU\Linux上使用gcc并在Linux控制台中使用UTF-8编码运行promgram.

在任何时候我都希望在Windows和Linux上编译我的源代码,我希望所有的Unicode符号都被正确地输入和输出.

当我遇到编码的下一个问题时,我用Google搜索.此外,我发现的最不同的委员会:setlocale(LC_ALL, "")setlocale(LC_ALL, "xx_XX.UTF-8"),std::setlocale(LC_ALL, "")std::setlocale(LC_ALL, "xx_XX.UTF-8")<clocale>,

SetConsoleCP()SetConsoleOutputCP()<windows.h>和许多其他人.

最后我被这种萨满教所困扰,我想问你:如何建立编码是正确的?

c++ windows unicode encoding utf

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

lxml-忽略html中的&lt;br&gt;标记

我使用lxml在Python中编写了一个小的html解析器。这很有用,但是我有一个问题。

我有以下代码:

tags = doc.xpath('//table//tr/td[@align="right"]/b')
for tag in tags:
    print(x.text.strip())
Run Code Online (Sandbox Code Playgroud)

工作正常。但是,如果元素<br>内有标签<b>,如下所示:

<b> first-half <br>
    second-half </b>
Run Code Online (Sandbox Code Playgroud)

此代码只会打印first-half<b>标签中。

<b>即使有<br>标签,如何获取所有文本?

谢谢。

python lxml html-parsing

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

wstring :: find()不适用于非拉丁符号?

我的代码中有一个宽字符串(std :: wstring),我需要在其中搜索宽字符.

我使用find()函数:

    wcin >> str;
    wcout << ((str.find(L'?') != wstring::npos)? L"EXIST":L"NONE");
Run Code Online (Sandbox Code Playgroud)

L'?' 是一封西里尔字母.

但是同一个调用中的find()总会返回npos.在拉丁字母的情况下,find()可以正常工作.

这是这个功能的问题吗?或者我做错了什么?

UPD

我使用MinGW并以UTF-8保存源代码.我也设置了语言环境setlocale(LC_ALL, "");.代码相同的wcout << L'?';工作是coorectly.但同样的

wchar_t w;
wcin >> w;
wcout << w;
Run Code Online (Sandbox Code Playgroud)

工作不正确.

它很奇怪.之前我使用setlocale()编码没有问题.

c++ stl wstring setlocale

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

从图像识别文本的简单python库

我正在寻找一个简单的python库,用于从图像中识别文本.图像类似于:

在此输入图像描述

图像包含非常纯粹和简单的 - 一行,数字和连字符,但分辨率很低.

我想要类似的东西(理想中):

 text = recognize(open('image.png', 'rb').read())
Run Code Online (Sandbox Code Playgroud)

有类似的东西吗?谢谢.

UPD

我知道pytesser和OCRopus.但据我所知,他们不支持Python 3.x.

python ocr python-3.x

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

RegExp #matse只返回一个匹配项

请解释一下,为什么match()只返回一个匹配,而不是四个(例如):

s = 'aaaa'
p /a/.match(s).to_a # => ["a"]
Run Code Online (Sandbox Code Playgroud)

奇怪的是,分组match()返回两个匹配,独立于真实匹配计数:

s = 'aaaa'
p /(a)/.match(s).to_a # => ["a", "a"]

s = 'a aaa a'
p /(a)/.match(s).to_a # => ["a", "a"]
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

ruby regex pcre

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

如何在C++中声明wchar_t []的向量?

我需要在包含wchar_t的c-string的C++程序向量中使用.我试着这样做:

using std::vector;

vector<wchar_t[SIZE]> string_list(100);
Run Code Online (Sandbox Code Playgroud)

但我得到包含以下单词的大错误输出:

error: functional cast to array type «std::vector<wchar_t [512]>::value_type {aka wchar_t [512]}»
Run Code Online (Sandbox Code Playgroud)

我做错了什么?为什么我会收到这样的错误

c++ wchar-t vector

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

有没有办法使用AppleScript在VLC中打开文件?

我想获取现在在VLC中打开的文件的全名。

我只发现了这一点:

tell application "VLC"
    set current_file to name of first window
end tell
Run Code Online (Sandbox Code Playgroud)

但是它将返回current_file当前窗口的标题,该标题只是没有扩展名的文件名。而我需要一条完整的道路。

我能做得到吗?

谢谢。

macos applescript vlc

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

内存操作不正确?

请帮助找到此功能中的错误.

wchar_t* clean(wchar_t out[], const wchar_t in[])
{
    int n = wcslen(in);
    wchar_t *str = new wchar_t[n];
    wcscpy(str, in);

    out[0] = L'\0';
    wchar_t *state;

    wchar_t *word = wcstok(str, L" ", &state);

    while (NULL != word) {
        if (wcslen(word) > 1) {
            wcscat(out, word);
            wcscat(out, L" ");
        }
        word = wcstok(NULL, L" ", &state);
    }

    delete state;
    delete[] str;
    return out;
}
Run Code Online (Sandbox Code Playgroud)

此函数从原始字符串单词获取并将它们放在结果字符串中.除了函数忽略多个空格和单个字母的单词.

不幸的是,该程序落在这个函数的最后几行有相同的错误(linux-3.7,gcc-4.7):

*** Error in `./a.out': free(): invalid next size (fast): 0x08610338 ***
Run Code Online (Sandbox Code Playgroud)

请问,我错了什么?

c++ gcc

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

标签 统计

c++ ×5

python ×2

applescript ×1

encoding ×1

gcc ×1

html-parsing ×1

lxml ×1

macos ×1

ocr ×1

pcre ×1

python-3.x ×1

qpainter ×1

qt ×1

regex ×1

ruby ×1

setlocale ×1

stl ×1

unicode ×1

utf ×1

vector ×1

vlc ×1

wchar-t ×1

windows ×1

wstring ×1