草庐IT

Qt-Quick

全部标签

c++ - 如何通过 QSignalMapper 或其他方式将 QString 从 QMenu 传递到 Qt 插槽

我有一个带有许多子菜单的QMenu。这些是动态创建的,即名称菜单来自数据库并在循环中创建。现在我想在单击菜单时触发相同的插槽triggered()或类似的,但我需要将QString菜单名称传递给插槽,以便我可以执行菜单特定的操作。我试过this即,将QAction*传递给触发事件并使用setData,但出现运行时错误。object::connect:NosuchsignalQAction::triggered(QAction*)for(intj=0;jaddAction(tr(c_name));//c_namethemenunamesubMenuAct->setData(ch_name

c++ - Qt 信号/槽 : Is it an error to emit a signal from a temporary object?

在Qt中,如果从一个临时对象中调用一个信号,使得该对象可能在调用槽时被删除,这是一个错误吗?如果相关,代码会从临时对象的构造函数发出信号。(注意:没有指针或引用作为参数传递,所以这不是关于悬挂指针或引用的问题。我只是想知道,以最简单的形式,从Qt中的一个临时对象。)这是我的代码的简化版本://MyapplicationclassHandyApplication:publicQApplication{Q_OBJECTpublic:explicitHandyApplication(intargc,char*argv[]);signals:publicslots:voidhandySlot(

c++ - 使用 64 位包编译 32 位 Qt 应用程序

我正在使用Windows864位、Qt5.0.2forWindows64位和VisualStudio2012。我在64位操作系统上编译和运行我的应用程序没有问题,但显然它不适用于32位操作系统。有没有办法用我现有的编译32位应用程序,或者我应该安装QtforWindows32位?(我从here下载Qt。)如果可能的话,我想提示一下那个选项在哪里。我正在使用QtCreator。 最佳答案 64位库不可能,但您可以下载并安装适当的“Qt5.0.2forWindows32-bit”(您可以在Creator中配置目标以安装多个版本的Qt)

c++ - Qt 5 和 OS X Mavericks 问题

我正在使用Cmake在OSX10.9上构建QT项目。自Mavericks以来,OpenGLheader的位置似乎发生了变化。文件夹/System/Library/Frameworks/OpenGL.framework/Headers现在不见了,cmake说CMakeErrorat/Applications/Qt/5.1.1/clang_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:8(message):Failedtofind"gl.h"in"/System/Library/Frameworks/OpenGL.framework/Header

c++ - Qt:typeid替代

我想知道Qt是否提供了typeid的替代方法来识别变量类型并以人类可读的格式获取它们的名称。我的具体问题如下:structgArgument{QStringtype;void*arg;};voidgargConverter(gArgument*oArg,Tdata){oArg->type=typeid(data).name();oArg->arg=static_cast(&data);}这个想法是泛化一个变量以用作函数的输入。作为侧节点tyeinfo似乎无法在我的系统上正常工作(我在Windows7上使用MinGW),如果我尝试:inti;std::cout我明白了i7QStringd

c++ - 在 64 位 Debian 环境下编译 32 位 qt 源码

我想在我的Debian64位环境中构建32位应用程序。所以,我正在尝试编译Qt源代码以获得32位库。我正在尝试使用以下配置命令:./configure-platformlinux-g++-32不幸的是,我收到如下错误:BasicXLibfunctionalitytestfailed!Youmightneedtomodifytheincludeandlibrarysearchpathsbyediting但是当我执行以下操作时:./configure-platformlinux-g++-64它工作正常。有什么猜测吗? 最佳答案 根据那里

c++ - 当我尝试将一个信号连接到插槽时,Qt 代码无法编译

我是Qt新手。我正在尝试实现一个非常简单的计算器程序。只是想放一个按钮,当它被点击时,我想让它打印“Hello,World!”到下一行编辑。当我只有一个按钮时它工作正常,但是当我添加第二个按钮时,它无法编译。由于我正在编写计算器代码,因此我需要这些按钮。错误如下:C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.o:-1:Infunction`ZN10MainWindow18qt_static_metacallEP7QObjectN11QMetaOb

c++ - 在 QML Scene3D 中使用 Qt3D QEntity

我想向QMLScene3D添加一个C++QEntity,如下所示://C++classMapEntity:publicQt3DCore::QEntity{public:MapEntity(Qt3DCore::QEntity*parent):Qt3DCore::QEntity(parent){...}}//QMLScene3D{MapEntity{id:map...}}这可能吗?如果是,该怎么做?或者也许可以创建C++场景(例如Qt3DExtras::Qt3DWindow)并在QML中使用? 最佳答案 是的,可以在C++代码中定义QE

【Qt 学习之路】Qt5各版本情况分析

文章目录1、简介2、Qt5版本归纳3、商业与开源3.1、桌面端3.2、嵌入式4、下载地址4.1、典型版本4.1.1、Qt5.0.04.1.2、Qt5.9.94.1.3、Qt5.12.124.2、当前Qt5最新版本1、简介Qt6出生刚刚好一年的时间,已经出到6.6版本,带来了许多的新特性和改进。今天刚刚好抽空总结下陪伴我工作这么长时间的Qt5,据官方可靠消息Qt5将至2025年5月26日封版。2、Qt5版本归纳个人归纳,如有不全请留言及时改正,谢谢~Qt版本简述版本维护持续包大小msvc主要支持哪些平台Qt5.0支持Wayland(客户端包装)Qt5.0.0~Qt5.0.2短398M~650M2

c++ - Qt:QImage总是将透明色保存为黑色

如何在Qt不将透明颜色设为黑色的情况下将具有透明效果的文件保存为JPEG文件?我知道JPEG不支持alpha,黑色可能只是alpha的默认“0”值,但黑色是一种可怕的默认颜色。看起来这应该是一个简单的操作,但是在保存为JPEG时,我尝试过的所有蒙版和alpha函数都被忽略了。例如:image->load("someFile.png");//Hastransparentbackgroundoralphachannelimage->save("somefile.jpg","JPG");//Transparentcolorisblack我试过在保存为JPEG之前用白色填充图像,在保存之前将图