我是QT和QML的新手,正在尝试为iOS构建我的第一个应用程序.我需要获取我在info.plist(myApp://)中定义的自定义URL方案的内容.当我打开任何URL myApp://xyz时,URL方案可行,应用程序将打开.现在我需要获取URL的内容(XYZ). 我在这里问,试图在过去的几天里做到这一点,而不是成功,也没有找到关于如何做到最好的手册.到目前为止,我了解到的是:有些人创建了自己的应用程序代表. GitHub上很少有使用旧QT版本(我使用5.4)的示例,但是我没有设法将它们集成到我的应用中,这对于这一简单的事情来说似乎很复杂.另外,正如我在这里看到的: QT已经处理了url.我不确定qt桌面服务是否 http://doc.qt.io/qt-5/qdesktopservices.html ,处理它,但(似乎)它是QML不可用的. 最好的方法是什么?非常感谢. 解决方案 我终于使用qdesktopservices和qml的信号使它起作用. hande
以下是关于 qt 的编程技术问答
我正在尝试为iOS模拟器编译QT,如首先,我遇到这个问题但是(Kinda)解决了我自己还有更多. 首先,我在执行第一个命令后一直在遇到此错误,该命令应该构建Qmake(../qt/configure ... etc etc): The OpenGL ES 2.0 functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /Qt/qt/mkspecs/qpa/macx-iphonesimulator-g++. 由于我知道我有4.3 SDK,所以我进一步研究了它,分析了配置脚本,经过一些跟踪,我看到了Qmake生成的makefile,需要G ++ -4.2(我没有)(我没有) ,所
我已经成功安装了QT 5.7.0和QT-CREATOR 4.1.0在El Capitan上使用Xcode 8. 我修复了 xcode sdk-version错误现在我正在尝试构建其中一个示例对于iPhonesimulator.他们都没有工作.所有这些都失败了类型的错误消息: The following build commands failed: CopyPNGFile Debug-iphonesimulator/2dpainting.app/Default-568h@2x.png 2dpainting.xcodeproj/Default-568h@2x.png 我可以确认目录DEBUG-IPHONESIMULATOR/2DPAINTING.APP没有PNG文件,它实际上位于QT安装目录中的某个地方.将PNG复制到源文件夹无济于事,因为该文件夹在运行" make"时被覆盖. 任何建议都将不胜感激. 编辑: 构建套件警告以下问题: " QT版本不支持设备类型".
我一直在试图为iOS编译QT,但是我一直在遇到一些疯狂的问题,这似乎没有其他问题(至少是根据我在过去的一天所读的). 我遵循本文中的说明:文章URL 我从git克隆了最新的QT 4.8:$ git clone git://gitorious.org/qt/qt.git 我制作了qt-lighthouse-ios-simulator文件夹,CD到它. 我从文章中运行了一长串代码:$ ../qt/configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc
我目前正在使用QT快速控制2为Android和iOS开发一个应用程序,该应用程序具有登录可能性.帐户凭据将存储在外部SQL数据库中.我已经弄清楚了如何与数据库进行交互,但是我无法弄清楚如何将QT中的会话用于Android和iOS,因此用户无需每次键入登录凭据. 一种可能的方法可能是将凭据存储到手机本地文件,然后每次启动应用程序时访问文件.但是,我不确定这是否是最好,最安全的方法. 谢谢. 解决方案 QSETTINGS 类用于状态管理. QSETTINGS信息通常存储在Windows上的系统注册表中,以及MacOS和iOS上的属性列表文件中.这是使用QSETTINGS存储/检索会话参数的原始示例代码..您可以扩展到所需的会话登录管理方案: main.cpp int main( int argc, char ** argv ) { QApplication app( argc, argv ); app.setOrganizationName("myOrg");
我正在QT 5工作,并在上传多个上传中挣扎.我的脚本靠近 docs 尽可能: QUrl testUrl("http://localhost/upload/test.php"); QNetworkRequest request(testUrl); QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QString preview_path = "C:/preview.jpg"; QHttpPart previewPathPart; previewPathPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"preview_path\"")); previewPathPart.setBody(preview_path.toLatin1());
在我的OS X 10.7.3(狮子)笔记本电脑上,我无法使用日期构造函数用QT WebKit解析JavaScript日期字符串.使用Jasmine-Headless-Webkit或Phantomjs,所有调用都如下: new Date("2012-04-10") 总是返回 "Invalid Date" 而不是有效的日期对象.几周前,一切都很好,我已经用类似设置的六台计算机对此进行了检查,并且无法在其他任何地方重现问题. 我可以肯定的是,当我决定清理我的旧据说的Macports安装时,问题就开始了(我已经切换到自制并进行了一些房屋清洁了).我怀疑有一个动态链接的库已从我的系统中删除,QT用于日期解析. 有人知道这个日期可以叫什么日期?是否知道我是否可以使用自制型或以某种方式手动修复缺失的依赖性? 我尝试重新安装QT和许多其他库,但没有解决问题. 解决方案 我没有Mac,但是给出了Windows的情况,我将使用一个可以报告应用程序依赖项等信息之类
我是通过使用需要root特权的QT C ++在OSX上编写应用程序的. 我相信我可以通过显示一个提示用户名和密码的对话框来获得这些需要的特权,这是XAMPP中的类似特权: 如何完成?我是必须手动构建表单,然后使用setuid,还是在sdk上的函数中内置了? 解决方案 最初,Apple提供了一个函数'授权executewithprivileges ',它允许使用root特权启动另一个应用程序.此后,由于安全原因而被弃用. 这里的对话框有些误导. Apple提供授权服务启动的服务在各种不同情况下的对话框,但通常是从称为函数授权的应用程序,在授权数据库中具有设置规则后(/etc/授权的文件),并使用授权create创建了授权参考. . OSX上的安全性是在安全守护程序,安全代理和应用程序之间划分的.应用程序可以使用此系统限制功能,或请求用户输入凭据,以便它可以启动特权应用程序,这是您需要执行的操作. 重要的是要注意,对话框尚未由应用程序提出,而是由安全代理人介
i有一个从串行端口读取和写入的应用程序(使用QSerialPort).当我以root用户的方式运行此应用程序时,然后再次以非root用户运行,我将不再能够写入串行端口,收到以下错误: QIODevice::write (QSerialPort): device not open 非root用户位于dialout组中,/dev/tty**文件上的权限似乎没有变化: crw-rw---T 1 root dialout ...... 最奇怪的是,当我简单地使用shell作为非root用户写入文件时,我会出现错误 $> echo "foo bar baz" >> /dev/ttyS0 $> echo $? 0 我发现唯一可以解决该问题的东西是重新启动机器. 这里可能会发生什么? 我在Debian 7. 解决方案 更新:这是QT中的一个错误,将在版本5.6.2中修复,该版本将于本月晚些时候发布. 在Linux和Mac上,QSerialPort打开
每当我打电话matplotlib.pyplot.plot(在unix os中)时,都会将以下错误打印到屏幕上: Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed 此错误不会中断函数;该图是成功创建的.但是这个错误是什么意思? "我不知道为什么,但是在sudoers文件中授予用户权限,然后使用sudo命令运行程序,修复了错误." 然而,这尚未解决错误的原因,以及它是否在所有正在进行的过程中都会影响. 是否有不需要编辑sudoers文件的解决方案? nb:我正在共享计算集群上进行这项工作. 解决方案 问题的答案是,是的,有一个不需要编辑sudoers文件的解决方案.我注意到在我的主
我有一个使用QPSQL驱动程序的应用程序(基于QT库). 在PostgreSQL中,有一些用户角色定义(例如:管理员,操作员,用户).我的应用程序在指定的用户下与Postgres服务器建立了连接.如何检查用户的角色? 解决方案 手册: SELECT current_user; -- user name of current execution context SELECT session_user; -- session user name 含义,session_user显示了您连接的角色,current_user显示了您当前正在使用的角色,例如致电SET role some_other_role;. . 其他解决方案 您可以使用此查询检查PostgreSQL用户权限: SELECT * FROM pg_roles;
我正在尝试安装sudo apt-get install cmake sudo apt-get install qt4-designer libqtgui4-perl cpan -g QtCore4 bunzip2 Qt4-0.99.0.tar.bz2 tar xvf Qt4-0.99.0.tar cd Qt4-0.99.0 perl Makefile.PL make VERBOSE=1 在这里make错误消息失败: Building CXX object smokeqt/qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.cpp.o cd /home/hakon/Qt4-0.99.0/smokeqt/qtdbus /usr/bin/c++ -DSMOKE_BUILDING -Dsmokeqtdbus_EXPORTS \ -I/usr/include/qt4/QtDesigner \ -I/usr/include/qt4/QtDeclarati
我已经在QT设计师中创建了QT GUI,并将其编译为GUI.PM. 现在,我想在我的perl应用程序中使用它,但是我不知道如何创建窗口对象. 我在start.pl: 中有以下代码 use strict; use QtCore4; use QtGui4; use gui; #compiled gui ('Ui_MainWindow' package) my $a = Qt::Application(\@ARGV); my $w = ??? #assign window object to $w $w->show(); exit $a->exec(); 我只需要创建窗口对象,但是找不到用perl写的任何示例.有人可以帮助我吗? 解决方案 我在源存储库中找到了以下解决方案: BUILD_DIR/Qt4-0.99.0/qtgui/examples/designer/calculatorform 构建您的UI模块 > puic4 Window.ui -o
我有一些理解问题. 在 qt wiki 是我要写的: qt wiki 提示:请确保将perl添加到Git前的路径上,因为它会发出过时的版本(Perl 5.8),这将导致脚本失败. 但这是什么意思?这意味着路径变量吗?它包含以下项目: C:\Python33\ C:\Perl64\site\bin C:\Perl64\bin C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common C:\Program Files (x86)\AMD APP\bin\x86_64 C:\Program Files (x86)\AMD APP\bin\x86 %SystemRoot%\system32 %SystemRoot% %SystemRoot%\System32\Wbem %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ C:\Program Files (x86)\ATI Tec
由于我似乎需要提高代码的性能,所以我想问,QGraphicsPixmapItem::setPixmap(*Qimage)的性能有多好? 我的图像是1024x1024 PX,每2.5秒都会更新.但是我需要更快地更新(每2.5秒每2.5秒4096x). QGraphicsPixmapItem::setPixmap(*Qimage)是否可以? 我直接用一个数组填充qimage的每个像素:array[y*SCENEWIDTH+x] = color. 但是,以这种速度QGraphicsPixmapItem::setPixmap(*Qimage)似乎冻结了我的GUI.目标是在极坐标中显示大量数据输入(每个方位角)(雷达视频). 有什么建议吗?谢谢! 解决方案 而不是每次使用QGraphicsPixmapItem并设置图像,建议创建自己的类,源自QGraphicsItem并更新成员QImage.这是一个示例,该示例显示了更新1024 x 1024图像的平稳过渡(请注意,它使用C +
我正在使用QGraphicsSvgItem子类,它从文件中读取一些内容,将内容放入QDomDocument,进行一些初始处理,然后将处理的DOM设置为渲染器. 在程序处理过程中,需要对预处理DOM的副本进行其他更改,因此DOM存储在类中.更改后,将DOM放在渲染器上. class MyGraphicsSvgItem : public QGraphicsSvgItem { public: MyGraphicsSvgItem (QGraphicsItem *parent = 0): QGraphicsSvgItem(parent), _svgXML() {} ~MyGraphicsSvgItem () { delete renderer(); } void CheckAndChangeSomeThings() {} void LoadStuff (QString fileName) { QFi
如何复制: 运行我的代码 将鼠标保留在出现的窗口上 您会看到CPU使用情况相当高,尽管这取决于您的硬件. on 我对这个测试柜的动机:在我的真实应用中,我有很多不可见的( culled )项目,尽管淘汰对CPU的使用极有帮助,但它并没有我的帮助. 我想了解为什么CPU使用率如此之高,以及如何减少它. 我的代码: main.qml : import QtQuick 2.5 import QtQuick.Window 2.2 Window { visible: true width: 800 height: 500 MouseArea { width: 1 height: 1 hoverEnabled: true } AnimatedItem { anchors.centerIn: parent width: 100
我正在使用QT(Mac,版本4.7)使用Qgraphicsview和QgraphicsScene渲染一个相当大的场景(来自Open Street Maps的地图数据).一切都很好,直到我尝试为场景中的项目设置Z值.我尝试了两种单独的方法来做到这一点.在一个中,我只是这样做: QGraphicsPathItem *item = scene->addPath(path, pen); item->setZValue(z); ,另一个我创建了自己的qgraphictem子类,但是得到完全相同的问题. 放慢速度的原因似乎位于事物的QT侧.一旦我设置了Z值,场景就需要很长时间才能产生(需要几分钟才能显示出任何东西,而我得到了旋转的海滩死亡球),但是一旦产生,速度就会恢复正常.此外,当我尝试关闭应用程序时,它在关闭之前将其悬挂几分钟.如果我独自离开z值,我看不到任何这些问题,并且我添加了调试代码以验证它在我自己的代码中没有发生. 不幸的是,我需要设置Z值才能正确渲染街道(例如,在
我需要使用JSON通过网络传输大量数据,然后在QT中在运行时在高流量和性能要求方案中对其进行解释.基本上,需要以任意大小和复杂性来处理数百甚至更多的JSON文件.我在如何做的方面有些自由,但我正在仔细考虑自己的选择,到目前为止,我对它们似乎不满意. 主要关注点是查找和修改速度,而从/到JSON的转换在我的上下文中不那么重要,因为我可以处理较慢的摄入量和/或输出,这无论如何还是不稳定的.但是一旦数据通过,就需要随时可用. 当我看到它们时,我的选择: 1)选项1是直接使用QT 5中的JSON支持类.但是,缺点是,为了修改JSON数据树中某个位置的单个值,整个过程需要复制,然后再用修改后的值再次创建了JSON.对于一次修改,这可能是相当昂贵的. QJSONVALUEREF在某种程度上可以帮助它,但由于需要复制结构中的每个对象,因此不允许迭代整个结构. 2)将JSON转换为QvariantMap(QMAP),然后使用它.除了来回转换的开销外,它与1)相同的问题遭受了相同的