草庐IT

Qt-Quick

全部标签

c++ - 包含 Qt 头文件的正确方法是什么?

到目前为止我知道几种方法来#includeQt类:#include这会带来特定模块的所有类,例如QDomDocument,QDomElement,QDomNode和许多其他来自#include.#include这添加了一个可能想要使用的特定类的声明,例如QEvent,QStringList,QFile.#include除了header名称看起来不同之外,这与之前的方法有相同的效果。所以我想知道,有没有其他方法可以#includeQt类?它们是等效的,还是由于某些原因其中一些优于其他?这是否取决于#include-在.cpp里面或.h文件?这会影响编译速度和可执行文件的大小吗?简而言之,

c++ - 编写后台应用程序时 Qt 与 native

我正准备用C++为我的MSc项目编写一个软件,我希望借此机会学习LinuxnativeAPI或QtAPI,我对这两者都很感兴趣,但是我不确定哪一个更合适。如果这个问题看起来很长、令人费解并且有些模棱两可,我很抱歉,但我担心如果我现在做出错误的决定,可能会破坏整个项目。我将要创建的应用程序几乎没有界面。它将和一个配置菜单、几个带进度条的对话通知用户正在发生的事情,以及一个使应用程序执行它的按钮。从长远来看,我打算在Windows、MacOS和Linux上部署这个应用程序,这个按钮在每个平台上都有不同的位置(Linux上的Gnome面板,Windows上的系统托盘,以及Mac上调用的任何面

c++ - Qt QMainWindow 中央小部件删除

我的应用程序需要用户在多个屏幕之间切换。我这样做的方法是为每个屏幕创建不同的QFrame,然后将Qframes设置为MainWindow上的中央小部件。问题是每次我调用setCentralWidget(frame)时,旧框架都会被删除,我以后无法访问它。如何保存那个旧框架以便我以后可以访问它?如果我的问题不清楚,请告诉我。 最佳答案 您可以从QMainWidow中删除您的中央小部件,重新设置它的父级。然后,你可以设置新的centralWidget;QWidget*savedWidget=mainWnd->centralWidget(

Qt静态链接库(.lib .a)、动态链接库(.dll)创建和使用教程

1库介绍先对库进行介绍,后对Qt静态链接库(.lib.a)、动态链接库(.dll)进行创建和使用的介绍!库是什么库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:静态库是什么之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接

c++ - QT画圆

这个问题在这里已经有了答案:drawafilledupcircle(2个答案)关闭7年前。我正在学习QT,有一个快速的问题:绘制圆心为x,y的半径为r的圆的最佳方法是什么?谢谢!

c++ - 带有可选图形用户界面的 Qt 应用程序

我打算使用Qt编写一些图像处理程序,我希望它能够在非图形用户界面模式(守护进程模式?)下运行。我受到VLC播放器的启发,它是“典型的”GUI程序,您可以在其中使用GUI对其进行配置,但是当它在没有GUI的情况下运行时,您也可以在non-gui选项中运行它。然后它使用一些在GUI模式下创建的配置文件。问题是这样的程序应该怎么设计?应该是一些程序核心,它独立于GUI并且取决于它与GUI界面连接的选项? 最佳答案 是的,您可以使用QCommandLineParser为二进制文件使用“headless”或“gui”选项.请注意,它仅从5.3

c++ - 集成 C++ 和 QML。 Qt 5.4

在过去的几个小时里,我一直在阅读Qt文档,试图找出一种方法,使使用QtQuickUI(QML)创建的UI与C++代码(函数等)进行通信(交互)。我已经阅读了此处的5或6个类似问题,但我有点困惑,我不知道从哪里开始或首先做什么。如果有人能花时间列出完成这项工作所需的步骤,我将不胜感激。到目前为止我做了什么。我尝试做...>添加新项目>C++类,但我失败了,并显示一条错误消息:“无法将一个或多个文件添加到项目”>似乎文件(...cpp和.h)已创建,它们位于其他项目文件所在的文件夹中,但未包含在项目中。我想做的只是一些简单的事情,比如通过C++函数或任何其他可能的方式更改textedit的

嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第六天-Qt UDP编程(物联技术666)

链接:https://pan.baidu.com/s/1-u7GvgM0TLuiy9z7LYQ80Q?pwd=1688提取码:1688在Qt中提供了QUdpSocket类来进行UDP数据报(datagrams)的发送和接收。这里我们还要了解一个名词Socket,也就是常说的“套接字”。Qt网络之UDP网络基础学习是本文要介绍的内容,UDP(UserDatagramProtocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。对于UDP我们不再进行过多介绍,如果你对UDP不是很了解,而且不知道它有什么用,那么我们这里就举个简单的例子:我们现在几乎每个人都使用的腾讯QQ,其聊

c++ - 如何将 lambda 函数排队到 Qt 的事件循环中?

基本上,我需要在Java中像这样完成同样的事情:SwingUtilities.invokeLater(()->{/*function*/});或者在javascript中像这样:setTimeout(()=>{/*function*/},0);但是使用Qt和lambda。所以一些伪代码:Qt::queuePushMagic([](){/*function*/});作为一个额外的并发症,我需要它在多线程上下文中工作。我实际上想做的是在正确的线程中自动运行某些方法。代码会是什么样子:SomeClass::threadSafeAsyncMethod(){if(this->thread()!=

c++ - 如何在 Qt 中取消设置标志?

我正在使用以下代码禁用对QTableWidget中单元格的编辑。ui->tableWidget_1->item(row,col)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);这很好用。我不明白如何撤消此操作,即如何使单元格再次可编辑?我已经尝试再次调用该函数以防切换它。我试过调用相同的函数,但在别处看到的标志前面有一个~。我不确定我是否真的了解标志在Qt中的工作原理。 最佳答案 Itemflags只是整数的位。要设置或取消设置标志,您需要获取该数字:autocurrentFla