草庐IT

c++ - Qt绘制垂直布局

我有多个child的QVBoxLayout,我希望能够在其上绘图。我已经尝试为布局实现paintEvent(QPaintEvent*)但我绘制的所有内容都保留在子项下。我该怎么做?如果能提供示例代码,我将不胜感激。 最佳答案 布局没有paintEvent成员,因此您无法重新实现它。我很惊讶你设法从这个行动中获得一些效果。将新的QWidget(我们称之为包装器)添加到您的表单中,并将您的QVBoxLayout添加到此小部件中。创建另一个小部件(覆盖)并使用setParent()将其添加到包装器中,而不是将其添加到布局中。重新实现覆盖层

c++ - 在未安装 Qt 的计算机上运行 Qt 应用程序。 QCamera 看不到可用的设备

我正在开发网络/图形用户界面应用程序。我正在另一台未安装Qt的计算机上测试该应用程序。但是当我启动应用程序时,QCamera::availableDevices()返回一个空列表。当我在安装了Qt的计算机上启动此应用程序时,它会返回一个包含此计算机上所有摄像头的列表。我认为问题出在QMultimedia后端插件中,它没有自动加载。如何获得已加载Qt插件的列表? 最佳答案 您可以尝试使用qt.conf文件的方法来设置依赖的插件位置。正如Qt文档所说:Withoutqt.conf,theQtlibrarieswillusethehard

c++ - 使用 CMake 将 qt header 声明为系统 header

我用CMake和qt说:find_package(Qt5COMPONENTSWidgets)另外,我想使用高警告级别并且我想将警告视为错误。所以我使用:set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-Werror-Wall-Wextra")但是,我不关心我使用的库中的警告。因此,例如,为了包含boost,我在include_directories调用中添加了SYSTEM,这样我就不会被来自外部库的警告所困扰:include_directories(SYSTEM${Boost_INCLUDE_DIR})但这对qt不起作用,因为没有显式的include_dir

c++ - Qt 5 中的类声明和命名空间

这个问题在这里已经有了答案:wayofdefiningclassinanamespace(6个答案)关闭8年前。有什么区别:namespaceUi{classT;}classT{//somecontent};和namespaceUi{classT{//somecontent};}我使用QtCreator,第一个构造用于为QtGui应用程序生成的默认代码。在示例项目中,我有两个类:classMyDialog:publicQDialog和classMainWindow:publicQMainWindow它们中的每一个都在私有(private)部分中包含一个指向该类的指针:p>classT:

c++ - QT控制台中的屏幕如何清晰?

我需要清晰的QT控制台。命令是什么?main.cpp:intmain(intargc,char*argv[]){QCoreApplicationa(argc,argv);cout 最佳答案 你可以执行:QProcess::execute("CLS");这当然只适用于Windows。在Linux/Unix-ish系统上,您需要执行以下操作:QProcess::execute("clear");如果您需要做的只是清空屏幕,这些方法就可以了。然而,如果您正在尝试构建一个更复杂的基于文本的界面(其中某些行是固定的,或者如果您想要绘制一些进度

c++ - qt中有QRect的3D类比吗?

基本上,tile总结了这个问题-我想知道是否有类似于QRect的qt类构建,但用于3D对象(描述一个盒子而不是矩形)? 最佳答案 Basically,thetilesumsupthequestion-IamwonderingifthereisanybuildinqtclasssimilartoQRect,butfor3Dobject(todescribeaboxratherthenrectangle)?当然有。所需的类目前在Qt3D中,但尚未随Qt5一起重新发布。在3D世界模拟项目中,我一直是这个类(class)的活跃用户,而且效果

c++ - 从 QWidget 中获取对象名称(从 Qt Designer 中可以看出)?

我想在我的Qt应用程序中禁用除了选定的一组小部件之外的所有小部件。我想做的是使用findChildren迭代mainWindow的所有子项,并使用setEnabled(false)禁用除“myTable”之外的所有结果小部件。QListallWidgets=mainWindow->findChildren("");QList::iteratorit;for(it=allWidgets.begin();it!=allWidgets.end();it++){if((*it)->objectName()!="myTable")//here,objectNameisnotworking!!{(

c++ - MSVC QT Creator - 如何正确设置 CDB?

所以我重新安装了我的系统,但我在MSVC调试方面遇到了很大的问题。我可以毫无问题地编译我的应用程序。我已按照QTcreatorsettingupdebuggingwithCDB的说明进行操作在Windows7上。我安装了MSVisualStudio2010和更新我卸载了2010C++运行时。我安装了Windows调试工具和SDK。我还重新更新了2010运行时。完成这一切之后,我现在有了CDB调试器。C:\ProgramFiles\DebuggingToolsforWindows(x64)\cdb.exe在QT中它会自动检测cdb.exe,这就是我的工具包的样子。当尝试运行调试sessi

c++ - Qt 5.1.1 with Visual Studio 2012 - 这些 QT 版本不可访问

打开visualstudio时出现此错误。我从http://qt-project.org/downloads安装:适用于Windows64位的Qt5.1.1(VS2012,525MB)(信息)和Qt5的VisualStudio插件1.2.2我的Qt目录路径是:C:\Qt\Qt5.1.1\5.1.1 最佳答案 我在VS2010和Qt5.5中遇到了同样的问题。我做了以下操作,它是固定的。在VisualStudio中,转到Qt5>Qt选项点击添加在版本名称:中输入您的版本在Path:中选择Qt目录中名为msvcxxxx的文件夹的路径(其中

c++ - QT Get请求解析JSON

我正在尝试制作GETrequest为了验证用户。这是我的代码:voidMainWindow::on_loginButton_clicked(){QStringemail="test";QStringpassword="test";nam=newQNetworkAccessManager(this);QObject::connect(nam,SIGNAL(finished(QNetworkReply*)),this,SLOT(serviceRequestFinished(QNetworkReply*)));QUrlurl("http://url.com/api.php?action=au