问题标签 [qt4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt4 - QTextEdit 中未正确显示不间断空格
QTextEdit t; t.setHtml(" ");
显示带有尖锐重音的小“a”而不是不间断空格。这只发生在 Windows 上,而不是 Linux 或 FreeBSD。这可能是什么原因造成的?Windows/Qt 中的错误?我怎样才能解决这个问题?
(Windows Vista x64 pro 上的 Qt 4.5。我的语言环境是默认的“C”。)
更新:我感觉这是 Qt/Windows 中的错误(已经提交了错误报告)。我已经创建了一个解决方法,但它很丑陋,并且涉及更改我的格式算法并<pre> </pre>
与 CSS 一起使用来产生所需的输出。
有没有更简单的解决方法?
更新:&8194; &8195; 两者都按照“wcm”的建议工作。假设这也适用于其他用户是否安全?
不工作可能仍然是一个错误,但是 &8194; 似乎是一个可接受的解决方法(?)。
更新:原来我错过了一些重要的事情:
在 Qt/Windows 中,仅使用我使用的称为“终端”的特定单型字体才能正确呈现。当我切换到“Lucida Console”(或任何其他字体)时,
渲染正确!伙计,我真希望我早点注意到这一点!该死。所以很明显某处存在错误(很可能在Qt中)。但没关系,至少对我来说使用不同的字体已经解决了这个问题。
更新:这不是我之前认为的 Qt 中的错误。
要了解渲染不正确的原因,请参阅 Tewha 的回答。
[解决了]
c++ - 当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?
我试图让 QTabWidget 在添加子项时自动调整大小以适合子选项卡,但无法这样做。我使用 Qt Designer 创建了一个表单,并使用如下的单一继承方法继承了它。
我有一个 QTabWidget,我正在使用 addTab() 将对象的实例添加到我的 QTabWidget。当我显示 QTabWidget 时,我注意到它没有调整大小以适应 MyWidget 实例。我需要做什么来确保 QTabWidget 实例自动调整大小?
c++ - 在 Qt 中,如何正确实现委托?
我遵循模型/视图/控制器范式。我很确定模型和视图是正确的,但我认为我的代表做错了一些事情。一切都“正常工作”,除了第一次单击控件只是“点亮控件”并且第二个与之交互。这就是代表通常的实现方式吗?我的实现需要大量的构造和破坏(由 scoped_ptr 隐藏),因此任何有关这方面的提示也很有帮助。
c++ - 在 C++ 中存储数据的最佳方式
我刚学 C++,刚开始玩 QT,我坐在这里想知道大多数应用程序是如何保存数据的?有行业标准吗?他们是否将其存储在 XML 文件、文本文件、SQLite 中?那些说会计软件需要保存的敏感数据呢?我只是有兴趣了解最佳实践是什么。
谢谢
command-line - Qt4 的命令行解析器
我正在寻找 Qt4 的命令行解析器。
我做了一个小的谷歌搜索,发现了这个:http ://www.froglogic.com/pg?id= PublicationsFreeware&category=getopt 但是它缺乏对“--enable-foo”和“--disable-foo”开关的支持。除此之外,它看起来像一个真正的赢家。
编辑:
Frologic 似乎删除了这个。所以我看到的最好的选择是使用 Boost(它不是 API 也不是 ABI 稳定的)或分叉对 kdelibs 的支持。耶...
visual-studio - 如何使用 qmake 创建 vcproj 以使其过滤器反映目录结构?
我使用 qmake (Qt 4.5.1) 创建我的 vcproj 文件。我想为输出 vcproj 创建自定义过滤器,这样不是每个 *.h 文件都在“头文件”过滤器中,*.cpp 在“源文件”等中。
例如,包含文件的项目
应该有一个 vcproj 文件
代替
谢谢!
user-interface - 我怎么能在另一个小部件中使用 QColorDialog 而不是单独的对话框?
我想使用QColorDialog不是作为对话框窗口,而是作为可以插入到布局中的小部件。(更具体地说,作为上下文菜单中的自定义子菜单)
我查看了 QColorDialog 源代码,我可能可以复制 QColorDialog 内部实现的一部分来实现这一点,但是有没有更简洁的方法来做到这一点?我正在使用 Qt 4.5.1 ...
qt - Qt 和双缓冲 - 是否有任何巧妙的技巧来捕获像素或操作后台缓冲区?
我正在将应用程序从 MFC 迁移到 Qt。
MFC 应用程序将使用 GDI 调用来构建窗口(基本上是一个图表)。它将绘制到内存位图后台缓冲区,然后将 BitBlt 绘制到屏幕上。然而,Qt 已经做了双缓冲。
当用户在图表中单击并拖动时,我希望窗口的该部分被反转。
我想找到最好的方法来做到这一点。有没有办法做一些像从小部件的后台缓冲区而不是屏幕抓取的东西?...也许是 BitBlt(..., DST_INVERT) 等价物?
我在 QPainter 中看到了 setCompositionMode(),但文档说这只适用于在 QImage 上操作的画家。(否则,我可以使用精美的合成模式将实心矩形图像合成到我的小部件上,以获得类似反转效果的效果)
我可以做与 MFC 相同的事情,绘制到 QImage 后台缓冲区......但我读到硬件加速可能无法以这种方式工作。重新实现 Qt 中已经提供给您的双缓冲似乎是一种浪费。我也不太确定关闭小部件的双缓冲可能会产生什么副作用(以避免三重缓冲)。
有一次,我有一个令人费解的 QPixmap::grabWidget() 调用,并带有防止递归的标志来保护它,但这会将所有内容渲染两次,并且显然比仅绘制到 QImage 更糟糕。(并且在文档中特别警告过)
我是否应该放弃并将所有内容绘制到 QImage 上,就像我在 MFC 中所做的那样?
编辑:
好的,QPixmap 画家的运行速度与现在的直接运行速度大致相同。因此,使用 QPixmap 后台缓冲区似乎是最好的方法。
解决方案对我来说并不明显,但如果我查看更多示例(例如 Ariya 的 Monster 演示),我可能会按照预期的方式对其进行编码,并且效果会很好。
这就是区别。我看到了使用这个的帮助系统演示:
在paintEvent() 的开始。因此,我似乎很自然地认为,将缓冲区加倍到 QPixmap 然后在屏幕上绘制,您需要这样做:
实际上,您显然应该这样做:
我可以看到我的方式同时有两个活跃的画家。我不完全确定为什么它更快,但直觉上我更喜欢后者。它是一个单一的 QPainter 对象,一次只做一件事。也许有人可以解释为什么第一种方法不好?(就 Qt 渲染引擎中的错误假设而言)
qt4 - Qt programname.exe 退出并显示代码 -1073741819 我该如何解决这个问题?
我正在尝试将 Qt 与 OpenCV 集成。
这是示例:http www opendesktop org/content/show.php/Qt+Opencv+webcam+viewer?content=89995
但功能:
给出退出错误代码:1073741819,以下任何地方..:
..正在使用。
如何防止发生此错误?
debugging - 在 Qt 中设置断点后,gdb 说:“访问内存地址时出错”
我在这里写了一个非常简单的 Qt 程序:
当我尝试在单击表的位置设置断点时,我从 gdb 收到此错误:
有谁知道为什么不能插入断点?