草庐IT

Qt5Webkit

全部标签

c++ - Qt 信号槽 : Signal is sent but Slot is not called

我在C++的VisualStudio2013中使用Qt。我正在尝试将信号连接到插槽。问题是信号已发送,但槽函数从未被调用,我不知道发生了什么。这段代码之前可以工作,但是在我将代码从32位的VisualStudio2012迁移到64位的VisualStudio2013并进行一些更改后,它不再工作了。它打印调试语句:发送前、发送图像和连接,但不打印接收到的图像。有人可以帮忙吗?Streamer.hsignals://SignaltooutputframetobedisplayedvoidprocessedImageStream(constvector&imgs,constQImage&im

C++:Qt 5.3 无法显示 UTF-8 字符

我正在尝试在VisualStudio2013中使用Qt和C++在按钮上显示一个unicode字符(欧元符号)。我尝试了以下代码:_rotateLeftButton->setText("\u20AC");和_rotateLeftButton->setText("€");和_rotateLeftButton->setText(QString::fromUtf8("\u20AC"));和_rotateLeftButton->setText(QString::fromUtf8("€"));但是,所有这些行都会导致以下结果:除了moc文件(.cxx),我的所有代码文件都是UTF-8编码的。无论出

Qt下使用QWebEngineView实现百度地图的显示

文章目录前言一、前期准备二、HTML文件创建三、实现步骤四、示例完整代码总结前言本文讲述了在Qt下使用QWebEngineView来加载HTML页面,实现该需求是需要连接网络的,这里进行了百度地图的嵌入显示,主要内容将结合相应的示例进行讲解,以便大家学习,如有错误之处,欢迎大家批评指正。项目效果提示:以下是本篇文章正文内容,下面案例可供参考一、前期准备下面是我的示例相关信息:Qt构建环境:Qt5.14_MSVC2017_64bit地图文件:baiduMap.html交互工具:qwebchannel.js这里的构建环境使用的是MSVC编译器,这样才能使用qwebengineview,在项目的pr

c++ - 在 Qt 应用程序菜单栏的主菜单中添加和本地化菜单项

所以首先这里是Evernote的所述菜单的屏幕截图,已本地化为法语:[]如您所见,主菜单中的所有菜单项(我所说的主菜单是指名称为应用程序名称的菜单项,如此处为Evernote)均已本地化为法语。Evernote应用本身带有很多菜单项,例如ÉvaluezEvernotepourMac(RateEvernoteforMac)、信息ducompte...(AccountInfo...)等。另外还有标准的OSX提供的菜单项,例如QuitEvernote、Preferences等也已本地化。我的问题:如何在此主菜单中添加新项目?如何访问此菜单以添加项目?如何根据我的应用程序本地化来本地化这些项目

c++ - 不完整类型 'class Ui::dialog 的使用无效(QT 错误)

我想制作一个带有按钮的简单QT主窗口以打开第二个窗口或对话框。我从字面上遵循了QT链接“在您的应用程序中使用设计器UI文件”中的步骤,并遵循了单一继承示例。但是QT给出了4个错误,您将在下面看到一个快照。现在,我所做的是在Qt设计器中创建一个主窗口,然后我将第二个窗体添加到项目中,这将是单击按钮时的第二个对话框窗口。因为我手动创建了表单“mydialog.ui”,所以我添加了类“mydialog.h和mydialog.cpp”,并将“ui-mydialog”的标题放在源文件“mydialog.cpp”中。我不确定我错过了什么?代码如下:-mydialog.h#ifndefMYDIALO

c++ - Q_INVOKABLE 是否需要在 Qt5 中从 QML 调用公共(public) QObject 函数?

我刚刚意识到我几乎可以调用公开给QML的对象的任何函数。现在我对Q_INVOKABLE很好奇。Qt5docs状态:[...]anyQMLcodecanaccessthefollowingmembersofaninstanceofaQObject-derivedclass:PropertiesMethods(providingtheyarepublicslotsorflaggedwithQ_INVOKABLE)SignalsSinceQt5(在C++中)我可以像槽一样调用QObject的任何公共(public)函数,即我不必将它们声明为“公共(public)槽”。这是否意味着我可以从QM

c++ - Qt如何处理堆栈分配的对象

我不明白Qt如何删除QObject的所有子对象而不删除静态分配的内容。基本上,如果我按照通常的方式做,它看起来像这样:QWidgetWindow(nullptr);QPushButton*button=newQPushButton(&Window);Window.show();returnApp.exec();//Whenappends,Windowgetsdeleted//becauseitwasstaticallyallocated//Andthen,Windowdeletesbuttonbecauseit'sitschild.但我也可以做到这一点而不会崩溃:QWidgetWind

c++ - 在 QT 中,我们可以有两个名称相同但参数不同的插槽吗?

我有两个同名信号,它们来自两个不同的类A和B到C类。让voidSomeSignal()是来自classA的信号,没有任何参数。我有另一个信号voidSomeSignal(int)来自另一个类。我需要在C类中以两种不同的方式处理这些信号。我可以在classC中制作两个插槽voidSomeSignal()和voidSomeSignal(int)吗? 最佳答案 是的,它是有效的。但是如果你这样做,你需要以不同于使用Qt5连接语法时的正常方式处理信号/槽的连接。关于如何处理connectingtooverloadedsignalsandsl

c++ - 使用 Qt3D 2.0 的广告牌

我正在寻找在Qt3D中创建广告牌的最佳方式。我想要一架飞机,无论它在哪里都面向相机,并且当相机向前或向后移动时不会改变大小。我已经阅读了如何使用GLSL顶点和几何着色器执行此操作,但我正在寻找Qt3D方式,除非客户着色器是最有效和最好的广告牌方式。我看过了,看来我可以通过属性在QTransform上设置矩阵,但我不清楚我将如何操作矩阵,或者也许有更好的方法?我正在使用C++api,但QML答案就可以了。我可以将它移植到C++。 最佳答案 如果只想绘制一个广告牌,可以添加一个平面并在相机移动时旋转它。但是,如果您想对数千或数百万个广告

c++ - 在 Qt 中更改标签

我正在尝试制作一个由按钮和标签组成的简单程序。按下按钮时,它应该将标签文本更改为程序内QString变量中的任何内容。到目前为止,这是我的代码:这是我的widget.h文件:classWidget:publicQWidget{Q_OBJECTpublic:Widget(QWidget*parent=0);~Widget();private:Ui::WidgetClass*ui;QStringtest;privateslots:voidmyclicked();};下面是Widget类的实现:#include"widget.h"#include"ui_widget.h"Widget::Wi