小编Leo*_*Leo的帖子

在QGraphicsView中更改光标

我正在尝试更改一段QGraphicsView时间的光标ScrollHandDrag,但它似乎不起作用.我可以更改光标,如果我禁用它ScrollHandDrag但不是当它处于活动状态时,我看不出我可能做错了什么...

Bellow是重现问题的代码的一部分:

QApplication app(argc, argv);
QGraphicsScene scene;
QRect rectangle(-8, -4, 100, 100);
QPen pen(Qt::blue, 1, Qt::SolidLine);
scene.addRect(rectangle, pen);
scene.setBackgroundBrush(Qt::white);
QGraphicsView vue(&scene);
vue.setFixedSize(250, 250);
//vue.setDragMode(QGraphicsView::ScrollHandDrag);
vue.setCursor(Qt::CrossCursor);
vue.show();

return app.exec();
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qgraphicsview

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

在Qt中混合两个不同的图像

我的程序生成3个不同的图像,我想使用一些不透明度设置组合它们.

首先我有原始图像,我已经将其转换为QPixmap以在QGraphicsView中显示它.

第一张图片.

然后使用此图像我进行一些计算并生成QImage,因为我需要基本像素访问,我还添加了一个图例.

第二张图片.

我想做的是能够混合两个图像,同时能够修改不透明度.我没有显示示例的工具,它应该如下所示:

第三张图片

但是第一张图像和数据图像混合了不透明度.此外,我希望这个传奇保持100%可见.如果需要,我可以为图例创建不同的QImage.

此外,我确切地知道哪个像素应该被认为是透明的而不是白色的.

在未来我想用滑块调整不透明度,所以我认为如果有一个解决方案不涉及每次计算一个全新的图像会更好...

任何领导将不胜感激......

c++ qt opacity qpixmap qimage

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

将 2 个字符转换为 1 个 int

我有 2 个字符:HIGH 和 LOW,我想将它们转换为对应于 HIGH + LOW 的 2 个左位的 int。

我试过类似的东西:

unsigned char high;
unsigned char low;
high = 128; // 10000000
low= 128; // 10000000
int result; (should be high 10000000 + 2 left bites of low 10 = 1000000010)
// To do
return result;
Run Code Online (Sandbox Code Playgroud)

编辑为更清晰。

我选择的解决方案是:

return high*4 + (low >> (CHAR_BIT - 2));
Run Code Online (Sandbox Code Playgroud)

c int casting char

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

实施Graham Scan以找到凸包

我正在尝试用C++ 实现Graham Scan,但它不起作用,我找不到原因.任何领导将不胜感激.经过一些尝试后,似乎我总是有m_M = 22点是最高点,如果有帮助的话.

交叉产品,知道它是右转还是左转.

qreal Interpolation::ccw(QPointF pt1, QPointF pt2, QPointF pt3)
{
    return (pt2.x()-pt1.x())*(pt3.y()-pt1.y()) - (pt2.y()-pt1.y())*(pt3.x()-pt1.x());
}
Run Code Online (Sandbox Code Playgroud)

点积除以常数,cos因为排序角度与排序相同cos in [0, Pi].

qreal Interpolation::dp(QPointF pt1, QPointF pt2)
{
    return (pt2.x()-pt1.x())/qSqrt((pt2.x()-pt1.x())*(pt2.x()-pt1.x()) + (pt2.y()-pt1.y())*(pt2.y()-pt1.y()));
}
Run Code Online (Sandbox Code Playgroud)

主要功能:

void Interpolation::ConvexHull()
{
    QPointF points[m_N+1]; // My number of points
    QPointF pt_temp(m_pt[0]);
    qreal angle_temp(0);
    int k_temp(0);
Run Code Online (Sandbox Code Playgroud)

使用points[1]低y点填充数组点:

    for (int i(1); i < m_N; ++i)
    {
        if (m_pt[i].y() < pt_temp.y())
        {
            points[i+1] = pt_temp;
            pt_temp = …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm math qt computational-geometry

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

选择所有单元格时,Selection.Count溢出

在Excel 2007中,我想在单击单元格(L2)时提示消息.我有一段代码工作,但问题是,当我选择工作表中所有的细胞Ctrl+A,我得到错误号06: overflow上线If Selection.Count = 1 Then

强制性VBA代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("L2")) Is Nothing Then
            MsgBox "ACTION!"
        End If
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba overflow excel-vba

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

标准和"异国情调"的图标

我正在尝试使用Qt中的标准图标来表示QToolButton,但我遇到了问题.我的代码是:

m_buttonZoomPlus->setIcon(QStyle::standardIcon(QStyle::SP_DesktopIcon));
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

无法调用成员函数'QIcon QStyle :: standardIcon(QStyle :: StandardPixmap,const QStyleOption*,const QWidget*)const'

这是什么意思?我是否必须创建一个空的QStyle对象并在其上调用standardIcon函数?

此外,我在这里找到了一个标准图标列表:http://doc.trolltech.com/main-snapshot/qstyle.html#StandardPixmap-enum

此列表是详尽的还是有其他标准图标?我正在寻找放大/缩小图标的例子,我还没有找到它.

非常感谢你的帮助.

c++ icons qt qt4

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

确定一组点的"内部域"

我有一组(x,y)点,我想从这些点插入任何点"内部"这一点的值.(下图中的黄色区域).

示例的图像

问题是我找不到任何好办法:

  1. 找到将成为插值点边界的多边形(绿线)
  2. 测试点是否在多边形内部.我找到了Point in Polygon算法,但我不确定在一定范围内取得所有点并测试它们是否属于多边形是一个好主意.我想找到一种方法让我测试的点数少于(max(x)-min(x))*(max(y)-min(y)),理想情况下是一种知道哪些点到做我的迭代.

编辑:在第二部分我正在迭代图像中的所有点(像素),我想要做的只是迭代黄色字段中的点.

你有领导吗?

Ps:如果有任何帮助,我用C++编写代码.

algorithm math point polygon computational-geometry

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

Int被视为bool,&operator

我一直在用我的部分代码挣扎了一段时间,我终于发现问题在于一个简单的测试,它没有给我我期望的结果.

if (2) //=> true
if (2 & true) //=> false
if (bool(2) & true) //=> true
Run Code Online (Sandbox Code Playgroud)

我不明白的是为什么第二行导致错误.我的理解是每个非零整数在测试中都被认为是真的.

c++ int boolean operators

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

图标在另一台计算机上消失

我用Qt Creator创建了一个程序,并用发布模式编译它.我添加了所有必需的DLL,一切都在我的计算机上正常运行.

问题是当我从另一台计算机启动程序时,我所包含的所有图标都没有显示,而我的计算机上的一切看起来都很好.

这来自哪里?

编辑:图标加载到qrc文件中...

c++ icons qt release qt4

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

SQL:仅插入新记录

这一定是非常微不足道的,但我似乎找不到解决方案。

我使用两个表,两个表都没有任何主键。

我只想将第一个表的所有记录添加到第二个表中,前提是它们不存在。

基本上:

INSERT INTO Table2
SELECT Table1.*
FROM Table
WHERE "the record to be added doesn't already exists in Table2"
Run Code Online (Sandbox Code Playgroud)

mysql sql ms-access-2007

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