草庐IT

Qt-Quick

全部标签

c++ - 在我的 Qt 应用程序中收到 WM_DEVICECHANGE 但没有收到 DBT_DEVICEARRIVAL

我正在按照一个示例来检测Windows7中的USB闪存驱动器插件和拔出检测。我确实收到了通知WM_DEVICECHANGE但没有收到DBT_DEVICEARRIVAL,这是在USB设备是插入。我的代码如下:/********************************************WINDOWSEVENTS********************************************//*WeusethefirstWM_PAINTeventtogetthehandleofmainwindowandpassittoRegisterDeviceNotificatio

c++ - 字符串段的Qt模式识别

Qt是否能够识别例如您正在编写邮件列表并在每封邮件后将其转换为带有x按钮的小部件(有点像Gmail的功能)。这是否有一些内置功能,还是必须从头开始制作? 最佳答案 我认为使用LineEdit并听取它的onchange信号更容易。在更改插槽中使用RegExp在LineEdit文本中搜索电子邮件。如果您找到合适的电子邮件(可能被空格包围),则在LineEdit前面添加一个带有删除图标的标签,并从LineEdit文本中删除添加的电子邮件。就这样! 关于c++-字符串段的Qt模式识别,我们在St

c++ - 有效地将(Qt)对象容器转换为const对象容器?

我的具体问题是我有一个QMultiHashprivate成员,我想提供对散列值的访问权限,但要访问const项目的版本,声明:QListgetBars(Foof)const;有没有比丑陋/低效地创建带有const项目和复制的新容器更清洁/更有效的方式来“压缩”Qt容器内的项目来自源的指针(在本例中为QMultiHash::values())?恐怕答案可能是“否”,但我想确保我没有遗漏一些Qt/C++(03)语法魔法来做到这一点。 最佳答案 有两种方法。您提到的明显方法是使用C++11并将其自己转换为QList.QListgetLis

c++ - ComboBox with Checkboxes inside, C++ Qt, 选择/取消选择所有复选框

我写了一个简单的组合框,其中的项目是复选框。当我选择一个项目并按下按钮时,它会显示我选择的项目。但我想做这样的事情:我有一个名为“all”的项目——当我选择它时,所有其他项目都应该被选中,当我取消选择它时,所有其他项目都应该被取消选择。有什么想法吗?主窗口.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include#include#includenamespaceUi{classMainWindow;}classMainWindow:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(QWidget

c++ - 如何将复杂的指针数据作为属性放入 qt 插件 xml 文件中

我已经在Qt中实现了一个小部件,如下所示:classMyWidget:publicQWidget{Q_OBJECTQ_PROPERTY(boolBooValREADgetBoolValWRITEsetBoolVal)Q_PROPERTY(MyPointer*PointerDataREADgetPointerWRITEsetPointer);...}我想在QtDesinger中使用它。因此,我实现了如下所示的QDesignerCustomWidgetInterface接口(interface):classMyPlugin:publicQObject,publicQDesignerCust

c++ - 如何在 Qt 中获取硬件 ID

我无法在所有操作系统中获取CPUID或主板序列号(跨平台Qt)在Windows上我使用WMI在Mac上另一个。我想使用跨平台库。 最佳答案 AlthoughQtdetectsatruntimetheCPUfeatureset(cf.src/corelib/tools/qsimd.cpp),itdoesnotexportanyfunctiontoaccessthat(noranyotherCPUIDinformation).Writeyoursmallpieceofassemblycodetogatherthatinformation

c++ - 在 QT C++ 中的 QSystemTrayIcon 附近显示 QWidget 或 QWindow

我已经设法让QSystemTrayIcon可见,类似于:使用以下代码行(信号槽工作):#include"dialog.h"#include"ui_dialog.h"#include#includeDialog::Dialog(QWidget*parent):QDialog(parent),ui(newUi::Dialog){ui->setupUi(this);QIconicon("/Users/JohnnyAppleseed/IMAGE.png");m_ptrTrayIcon=newQSystemTrayIcon(icon);m_ptrTrayIcon->setToolTip(tr("

c++ - 在 LGPL 下的商业产品中使用 Qt 时如何允许私有(private)修改

我正在考虑构建一个动态链接到Qt库的闭源应用程序。目标平台将是Linux和Windows。为了履行LGPL的义务:"Theuserofyourapplicationhastobeabletore-linkyourapplicationagainstadifferentormodifiedversionoftheQtlibrary"(Qtfaq).我正在努力理解实现此目标的技术必要条件。尤其是在不发布源代码的情况下。在什么情况下,用户可以只用自己的修改版本替换应用程序附带的.so/.dll文件?这可能吗?因为在同样的事情上libstdc++faq状态:TheLGPLrequirestha

c++ - OpenGL 在 Qt 中绘制小​​部件

我正在开发一个在Mac上使用Cocoa的Qt应用程序,并使用PowerVRSDK在Mac桌面上启用OpenGLES2.0。我已经设法让它工作了,一切都完美呈现,问题是当我在那个窗口中创建一个小部件时,OpenGL会在它上面渲染,例如我正在创建一个QLabel并在其上呈现,使标签不可见。我尝试在渲染单个OpenGL帧后调用QLabel的repaint()方法,但这没有帮助。有没有人遇到过这样或类似的问题,有什么建议吗?谢谢! 最佳答案 如果您希望小部件与OpenGL内容互操作,您必须使用QOpenGLWidget。它绘制到屏幕外缓冲区

c++ - QT 和 Visual Studio 2010

任何人都可以向我提供让QT在VS2010中工作的分步操作方法吗?我有:VisualStudio2010终极版Windows7企业版。qt-sdk-win-opensource-2010.05qt-vs-addin-1.1.7我尝试在VisualStudio命令提示符下执行:configure.exe-platformwin32-msvc2008-no-webkit-no-phonon-no-phonon-backend-no-script-no-scripttools-no-multimedia-no-qt3support-fast然后:nmake我安装了插件,但是当我转到QT菜单并尝