小编Mic*_*hal的帖子

杀死已停止并恢复的QProcess

我有一个QProcess,必须暂停和恢复.我用

kill(pid_t(process->pid()), SIGSTOP);
Run Code Online (Sandbox Code Playgroud)

kill(pid_t(process->pid()), SIGCONT);
Run Code Online (Sandbox Code Playgroud)

暂停/恢复过程.

但是,一旦完成,即使通过,也无法再终止该过程QProcess:kill().基本上,没有QProcess::waitForFinished()成功,这个过程变成了僵尸.

有人知道这个的原因,有什么解决方案吗?

注意:我尝试了这个问题的答案,但没有用.我在Mac上这样做,但谷歌搜索表明问题也发生在Linux上.

unix qt signals

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

如何检测我的应用程序在Qt中失去焦点?

当鼠标光标在某个小部件上时,我正在显示一个弹出窗口,我想在鼠标离开小部件时隐藏这个弹出窗口.

为此,我重新实现了leaveEvent().这似乎适用于所有情况,除非切换到另一个应用程序Alt+Tab.我发现我可能需要抓住另一个事件,但不知怎的,我找不到合适的事件.你能建议吗?

c++ qt qt4 qevent qt5

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

有效地对定义顺序的向量的子集进行排序

我有定义项目顺序的向量(0..N-1),例如 {5, 0, 4, 3, 2, 1, 7, 6}.

我必须对该向量的子集进行排序.所以,因为{0, 1, 2, 5}我应该得到{5, 0, 2, 1}.

我测试了以下解决方案:

  1. 在子集中创建一组项目,然后清除子集,浏览排序向量,仅添加集合中的项目.
  2. 通过遍历排序向量创建新的排序向量,仅添加子集中找到的项目std::lower_bound.

第二种解决方案似乎要快得多,尽管需要对子集进行排序.还有更好的解决方案吗?我使用的是C++/STL/Qt,但问题可能不依赖于语言.

c++ sorting algorithm vector

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

如何防止 QTextDocument 块或框架中的分页符?

是否可以防止 QTextDocument 表内任何位置的分页符?

在我的 QTextDocument 中,我有很多由小图像块创建的较大图像。添加大图像似乎是一种资源浪费,因此一个明显的解决方案似乎是创建一个表格,在每个单元格中放置小图像。

问题是现在这些表可以在每一行之后有分页符。我知道防止它的唯一方法是为每个表格/框架格式调用 setPageBreakPolicy() ,但这需要在每个较大的图像之前强制分页。我只想在必要时使用这些分页符(较大的图像不适合)。

可以做我想做的吗?

c++ qt

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

模拟数组的随机迭代

我有一个给定大小的数组.我想以伪随机顺序遍历它,保持数组完整并访问每个元素一次.如果当前状态可以存储在几个整数中,那将是最好的.

我知道你不能在没有存储完整数组的情况下完全随机,但我不需要命令是非常随机的.我需要它被用户视为随机的.解决方案应该使用子线性空间.

这里给出了一个可能的建议 - 使用大素数.该解决方案的问题在于存在明显的固定步骤(采用模块阵列大小).我更喜欢一种不是非随机的解决方案.有更好的解决方案吗?

c++ arrays random algorithm

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

标签 统计

c++ ×4

qt ×3

algorithm ×2

arrays ×1

qevent ×1

qt4 ×1

qt5 ×1

random ×1

signals ×1

sorting ×1

unix ×1

vector ×1