小编Fab*_*ian的帖子

如何在C++中实现线程安全引用计数

如何在C++编程语言中在X86 CPU上实现高效且线程安全的引用计数系统

我总是遇到关键操作不是原子的问题,可用的X86 Interlock操作不足以实现引用计数系统.

以下文章介绍了此主题,但需要特殊的CPU指令:

http://www.ddj.com/architect/184401888

c++ multithreading atomic reference-counting

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

C++的属性和反射库?

大多数成熟的C++项目似乎都有自己的反射和属性系统,即用于定义可以通过字符串访问的属性并且可以自动序列化.我参与的至少很多C++项目似乎重新发明了轮子.

你知道任何支持反射和属性容器的C++ 开源库,特别是:

  • 通过宏定义RTTI和属性
  • 通过代码访问RTTI和属性
  • 自动序列化属性
  • 听取属性修改(例如OnValueChanged)

c++ reflection attributes

16
推荐指数
3
解决办法
7955
查看次数

在JavaScript中创建/修改图像

是否可以在JavaScript(客户端)上按像素级别动态创建和修改图像?或者这是基于服务器的语言,如PHP吗?

我的用例如下:

  • 用户打开网页并加载本地存储的图像
  • 显示图像的预览
  • 用户可以使用一组滑块修改图像(像素级操作)
  • 最后,他可以将图像下载到他的本地硬盘

在网上搜索时,我刚发现有关使用IE过滤方法的帖子,但没有找到任何有关JavaScript中图像编辑功能的信息.

javascript image

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

我可以在不使用其UI框架的情况下将Qt用作C++库

在没有实际使用Qt用户界面系统的情况下,使用Qt提高MFC应用程序的生产率是否有意义?

我目前正在寻找或基于MFC的应用程序的良好生产力库,包括有用的容器类,字符串算法,线程类,I/O类等.在我看来,Qt API非常好用.但是,由于我不想将我的UI切换到Qt(只是太费力),我想知道Qt是否可以在没有任何Qt UI的MFC应用程序中很好地使用.

提前感谢您的意见.

法比安

c++ qt mfc

6
推荐指数
3
解决办法
5166
查看次数

如何使用 Qt 进行粉笔风格的绘图

我想使用 Qt 以粉笔风格绘制线条,就像您通常在黑板上看到的那样。这是我想到的一个例子:

粉笔风格绘图示例图像

实现这种渲染风格的最佳方法是什么?我需要用特殊的画笔画很多小线条,还是有更好的方法来获得您在示例图像中看到的“曲线”样式?

整合它的最佳位置在哪里?从理论上讲,将它放在 QPainter 下是理想的,例如在自定义 QPaintEngine 中,以便例如所有各种 QPainter::drawLine 调用最终使用粉笔样式。然而,虽然 QPaintEngine 接口看起来很适合这个,但类本身并不打算用于这个目的......

在此先感谢您的帮助。

你好,

法比安

qt drawing

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

Linux上QPainter :: drawText的性能不佳

我注意到,当使用缩放窗口映射时,QPainter :: drawText在Linux上非常慢.我能做些什么吗?我已经检查过禁用消除锯齿或启用光栅渲染器是否有所作为,但事实并非如此.

示例:当使用视口大小(450px,200px)时,窗口大小为因子100(45000,20000),因此字体大小按比例缩放100倍(1400pt),渲染文本"hello"的30倍左右在Linux上4(!)秒 - 在OpenSuse和Ubuntu上.

相同的示例在Windows和Mac上快速呈现.

只是为了澄清:虽然字体大小按比例放大,但由于所描述的窗口< - >视口映射,文本在屏幕上显示为"正常"大小.

这是我正在使用的简单示例代码:

void Widget::paintEvent(QPaintEvent *event)
{
    const int scaleFactor = 100;

    QPainter painter(this);

    // Setup font
    QFont font;
    font.setPointSize(14*scaleFactor);
    painter.setFont(font);

    // Setup mapping
    painter.setWindow(0, 0, width() * scaleFactor, height() * scaleFactor);

    // Render the text
    for (int i = 0; i < 30; i++)
        painter.drawText(qrand() % (width() * scaleFactor), qrand() % (height() * scaleFactor), "Hello");
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都是极好的.

注意:我使用的是Qt 4.8.5

linux performance qt text transformation

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

Qt 国际化:您在 Qt 应用程序中使用什么作为源文本?

这个问题是关于最佳实践的。我目前正在研究 Qt 国际化系统。

您在 Qt 应用程序中使用什么作为源文本?

  1. 您是否在应用程序代码中编写英文文本并将其用作最终语言?
  2. 或者您是否编写了英文文本,但仍然为英文版本设置了专用翻译文件,以便代码中的文本永远不会向客户显示?
  3. 或者您是否在代码中使用ID(例如“ID_ABOUT_US”),以便语言文件在更改英文文本时永远不会“丢失”翻译?

背景: 假设我使用英语作为源语言,并且我的应用程序还有 5 个翻译文件。现在发现英文文本表述得不好,需要修改。由于 lupdate 使用的启发式方法,我是否会遇到其他 5 个翻译在更改后“丢失”此翻译的问题?或者您通常认为这是一个好处,因为翻译也应该进行审核?

对你的经历很感兴趣!

问候,

法比安

qt localization internationalization

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

Qt 5.2和iOS:"没什么可做的"

我目前正在尝试使用"Qt 5.2 for iOS"构建基于"hello world"iOS应用程序的简单小部件.但是,当使用QtCreator编译新创建的测试应用程序时,iphonesimulator-clang kit它只是说"没有什么可以先做",并且没有创建二进制文件.我已经花了几个小时来跟踪它,但无法弄清楚我配置错误.

我正在使用带有OS X 10.8.5,Qt 5.2.0,0 QtCreator 3.0.XCode 5.0.2(如果这很重要)的MacBook Air .这台机器上还安装了Qt 4.8.5,这个版本是我用于生产目的的.

还有一些事情需要提及:

  • 从QtCreator运行qmake时,会发出警告" The version of XCode installed on this system is not recognized"
  • 随5.2一起提供的iOS示例应用程序可以正确构建和运行
  • 当删除这样一个发货样本的".pro.user"文件时,这意味着我之后需要再次在QtCreator中重新配置项目(选择套件),样本显示与我刚刚创建的测试应用程序相同的问题:qmake将警告XCode版本和制作步骤不会做任何事情.

任何提示都非常受欢迎!

c++ qt qt-creator ios

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