草庐IT

QT_INSTALL_PREFIX

全部标签

c++ - Qt QGraphicsView单元测试——如何让鼠标保持在 "pressed"状态?

我有一个相当复杂的QGraphicsView/Scene设置,其中我有具有复杂交互的项目。因此,我想对此进行单元测试,以避免在现有功能中产生错误。对于一个测试,我希望:在场景中的一个项目上按下鼠标向右移动鼠标松开鼠标这将允许我检查该项目是否已被选中、移动了正确的数量以及是否被取消了。但是我发现在发送mouseMove事件后鼠标状态变为“已释放”,这是我的代码:QTest.mousePress(gv.viewport(),Qt.LeftButton,Qt.NoModifier,QPoint(80,80),100)QTest.mouseMove(gv.viewport(),QPoint(8

c++ - CMake 与 Qt3d 用于 Qt5?

我已经从ubuntu-developers存储库(我在Ubuntu13.04下)安装了Qt5和Qt3d,我想用CMake编译一个非常简单的应用程序(我的版本是2.8.10.1)。Qthelloworld的工作CMakeLists.txt如下:cmake_minimum_required(VERSION2.8.8)project(testproject)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneed

c++ - 无法使用 fixup_bundle() 与 Qt 创建可移植包

我已经在其他帖子上搜索过这个问题,但目前还没有。所以我来了。我想创建一个可移植的包。便携,如“我可以在任何OSX机器上运行它,即使我需要的库(Qt)没有安装”。不幸的是,我不知道如何使用fixup_bundle()(这似乎是正确的工具)来实现这个目标。这是我最小的CMake生成的C++项目:主要.cpp#include#includeintmain(){QStrings("Hello,world!");std::coutCMakeLists.txtcmake_minimum_required(VERSION2.8.11)project(test)#ThatpartbecauseIuse

c++ - Qt:格式化QString中的整数

我想在QString中格式化一个整数.我想总是有6个数字。例如“1”应该是“000001”,“12”应该是“000012”。我试着用printf(%06d,number)来做.所以我写了这个QStringtest;test=QString("%06d").arg(QString::number(i));qDebug()i在循环中实现for.但它不起作用,因为我有:"0d""1d""2d""3d"...有人知道怎么做吗? 最佳答案 String的参数支持不像printf那样工作。这一切都记录在案。你想要的是:QStringtest=Q

c++ - 当 Qt 信号/槽连接失败时,如何提醒我?

当使用connect连接到一个不存在的信号/槽时,我们会浪费很多时间,因为Qt只会在控制台日志记录的某个地方在运行时警告我们.除了进化到使用类型系统报告这些问题的Qt5,以及来自changingcode对于系统中的所有connect调用,是否有另一种方法来拥有Qt运行时,例如当建立错误的连接时抛出,或者只是崩溃,或者大声提醒我? 最佳答案 您可以在连接上使用一个包装器,它会在某些连接失败时停止程序:inlinevoidCHECKED_CONNECT(constQObject*sender,constchar*signal,const

c++ - Qt/C++制作可编辑流程图

我正在制作一个可编辑的流程图,但我在使用Qt时遇到了很多概念上的问题。我已经尝试了许多不同的方法来实现类,包括QTreeWidget、QTableWidget,以及仅使用一堆简单的QPushButtons。理想情况下,我希望有一个设置,我可以在其中右键单击流程的每一部分并对其进行编辑。除了具有拖放功能以重新排列流程中的对象。试图找到一个我可以一起使用的类/类组来实现这一目标一直很困难。哪些类最适合此应用程序;特别是GUI类?编辑的实际内容不应该与我正在寻找我可能错过的建议或方法的GUI相关。除了功能之外,它不必看起来那么花哨;矩形和直线就足够了。到目前为止,我知道如何使用和实现cont

c++ - Qt QGridLayout - 删除项目间距

我正在尝试在Qt中编写战舰的实现,我正在使用两个QGridLayouts来包含用于表示玩家网格的QToolButtons。顶层布局(QMainWindows之一)是QHBoxLayout。我想要完成的是删除这些按钮之间的间距。这是它现在的样子:它绝对不漂亮。我正在像这样将项目添加到这些布局中:QIconicon;icon.addFile(QStringLiteral(":/images/Resources/field_blue.png"),QSize(),QIcon::Normal,QIcon::Off);for(inti=0;isetToolButtonStyle(Qt::ToolB

c++ - Os X Yosemite Qt 拖放文件名错误

我试图在我的Qt应用程序中使用简单的拖放功能。这是我的代码:MyWindow::MyWindow(QWidget*parent){..........setAcceptDrops(true);}voidMyWindow::dragEnterEvent(QDragEnterEvent*e){if(e->mimeData()->hasUrls()){e->acceptProposedAction();}}voidMyWindow::dropEvent(QDropEvent*e){foreach(constQUrl&url,e->mimeData()->urls()){constQStrin

c++ - 如何在 Qt 5 中将 New-Signal-Slot 语法声明为函数的参数

如何将信号或槽(成员函数,Qt5中的新语法)作为参数传递给函数,然后调用connect?例如我想编写一个等待信号的函数。注意:它不是编译-PointerToMemberFunction是我的问题。boolwaitForSignal(constQObject*sender,PointerToMemberFunction???signal,inttimeOut=5000/*ms*/){if(sender==nullptr)returntrue;boolisTimeOut=false;QEventLooploop;QTimertimer;timer.setSingleShot(true);Q

c++ - Qt 删除 QVBoxLayout 上的小部件之间的空白区域

我有一个恼人的问题。我创建了QVBoxLayout,并在上面添加了我的小部件。这是我的构造函数中的示例:layout=newQVBoxLayout;layout->setMargin(0);layout->setContentsMargins(QMargins(0,0,0,0));layout->setSpacing(0);然后我有添加小部件的功能。layout->addWidget(_wave);_wave是我自己的小部件。但是你可以添加任何你想要的,例如QButton。我想要达到什么目的?Similarlikethis但在添加到布局的小部件之间没有任何空格。只有QButtons或其