小编And*_*pov的帖子

Qt-> QGraphicsView-> QGraphicsItem调整大小

我对Qt中的QGraphicsView很新.

据我所知,没有内置的方法可以用鼠标调整场景中的QGraphicsItem.

我正在寻找的是能够通过拖出屏幕上的角落或边缘来调整QGraphicsRectItem的大小.

有一个简单的方法吗?在线某处有一个库或一段代码可以实现这个功能吗?

我目前正在使用Qt 4.5.1.

c++ qt qt4

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

Qt应用程序:模拟模态行为(启用/禁用用户输入)

我目前正在开发一个应用程序,该应用程序可以启动显示其他对话框的单独进程。我试图实现的功能是模拟这些对话框的模态行为。更具体地说,我需要该应用程序在启动对话框时停止处理所有输入(包括鼠标和键盘),并在关闭对话框时恢复处理。

将对话框保留在应用程序的顶部并不是很重要,尽管如果您可以建议如何在不依靠Always-On-Top行为的情况下做到这一点,那也很好。

注意,该应用程序是在Windows和Linux下编译的。另外,也不可以直接启动对话框。它们在单独的可执行文件中。此外,该应用程序是一个非常复杂的软件,因此不能单独禁用小部件,或者至少不是一个非常可行的选项。

我在Qt 3.3的QApplication类中找到了lock()unlock()函数。我们目前正在使用Qt 4.5,它似乎没有该API。实际上,Qt 4.5 QApplication类似乎也不提供对事件循环的访问。

总结一下:如何禁用/启用Qt应用程序中的用户输入,包括鼠标和键盘快捷键?

c++ qt qt4

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

Play2:播放阶段命令失败并显示'not found:type SetupContext'

我目前正在尝试将一个Play 2.2.2应用程序部署到heroku,并且play stage命令对我失败,输出如下:

$ play clean compile stage
[info] Loading project definition from /Users/apotapov/Dropbox/workspace/test/project
[info] Set current project to test (in build file:/Users/apotapov/Dropbox/workspace/test/)
[success] Total time: 0 s, completed Apr 9, 2014 4:45:28 PM
[info] Updating {file:/Users/apotapov/Dropbox/workspace/test/}test...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 3 Scala sources and 70 Java sources to /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/classes...
[success] Total time: 28 s, completed Apr 9, 2014 4:45:56 PM
[info] Packaging /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/test_2.10-1.0-SNAPSHOT-sources.jar ...
[info] Wrote /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/test_2.10-1.0-SNAPSHOT.pom
[info] Done packaging.
[info] Main …
Run Code Online (Sandbox Code Playgroud)

jackson playframework playframework-2.2

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

为什么std :: ends导致字符串比较失败?

我昨天花了大约4个小时试图在我的代码中解决这个问题.我将问题简化为下面的示例.

我们的想法是将字符串存储在以std :: ends结尾的字符串流中,然后将其检索并将其与原始字符串进行比较.

#include <sstream>
#include <iostream>
#include <string>

int main( int argc, char** argv )
{
    const std::string HELLO( "hello" );

    std::stringstream testStream;

    testStream << HELLO << std::ends;

    std::string hi = testStream.str();

    if( HELLO == hi )
    {
        std::cout << HELLO << "==" << hi << std::endl;
    }

    return 0;
}

正如您可能猜到的,上面的代码在执行时不会打印出任何内容.

虽然,如果打印出来,或者在调试器(VS2005)中查看,HELLO和hi看起来相同,它们的.length()实际上相差1.这就是我猜测导致"=="运算符失败的原因.

我的问题是为什么.我不明白为什么std :: ends是一个不可见的字符添加到字符串hi,使hi和HELLO的长度不同,即使它们具有相同的内容.此外,这个看不见的角色不会被增强修剪修剪.但是,如果使用strcmp比较两个字符串的.c_str(),则比较正常.

我首先使用std :: ends的原因是因为我在过去遇到了一些问题,因为stringstream在流的末尾保留了垃圾数据.std :: ends为我解决了这个问题.

c++ boost stl

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

标签 统计

c++ ×3

qt ×2

qt4 ×2

boost ×1

jackson ×1

playframework ×1

playframework-2.2 ×1

stl ×1