草庐IT

windows - Qt + win32 + mingw 上的原生 Windows API 链接问题

我正在尝试使用mingw工具集将nativeWindowsAPI与Qt结合使用。某些功能存在链接问题。会发生什么?这是mingw名称修改的错误吗?#ifdefQ_WS_WINHWNDhwnd=QWidget::winId();HDChdcEMF=CreateEnhMetaFile(NULL,NULL,NULL,NULL);Rectangle(hdcEMF,100,100,200,200);HENHMETAFILEhemf=CloseEnhMetaFile(hdcEMF);OpenClipboard(hwnd);EmptyClipboard();SetClipboardData(CF_E

c++ - 在 Qt 应用程序中接收 WM_COPYDATA 消息

我正在开发仅限Windows的Qt应用程序,我需要从MicrosoftOneNote插件接收数据。该插件是用C#编写的,可以发送WM_COPYDATA消息。我如何在C++Qt应用程序中接收这些消息?我需要:能够指定窗口在调用RegisterClassEx时注册的“类名”,这样我就可以确保插件将WM_COPYDATA消息发送到正确的窗口。有权访问消息ID以检查它是否为WM_COPYDATA和lParam,其中包含具有实际数据的COPYDATASTRUCT。此信息在WndProc中传递,但我无法找到可以拦截这些消息的Hook。 最佳答案

c++ - Qt和chm帮助文件格式

我们想为我们的小部件库迁移到Qt。目前我们正在使用WX,它与chm兼容。我找不到任何表明Qt相同的东西。我们在CHM工具上投入了大量资金,供非技术人员编写帮助文件。有没有办法用Qt查看chm?如果没有,是否有从chm到Qt可查看的任何内容的合理简单路径? 最佳答案 纯HTML绝对是。Qt包含完整的HTML呈现核心(WebKit)。加上Qt有一些内部格式(打包的HTML,类似于chm)https://doc.qt.io/archives/qq/qq28-qthelp.html哦还有:http://web.archive.org/web

windows - 为什么此 QString 到 const char* 的转换会在 Windows 上生成 Debian 标识符?

我试图在Qt中包装libssh2,并具有以下代码:constchar*username=inUsername.toLocal8Bit().data();constchar*password=inPass.toLocal8Bit().data();问题是用户名和密码没有连接到系统。为什么?因为根据调试器,username"5.1p1Debian-6ubuntu2"password"5.1p1Debian-6ubuntu2"这些不是我为用户名或密码提供的值。我试过toAscii、toLatin1和附加(或不附加).data()。尽管如此,我还是得到了这些值,而不是预期值。我在Windows

c++ - 在Windows上使用Qt和opencv构建问题

我想使用Qt在WindowsXP上使用opencv创建gui应用程序。我之前使用过Qt和opencv,但从未一起使用过。长话短说,我无法在Qt上使用opencv。由于在我搜索过的所有论坛上,散布的信息很少,通常没有答案,因此在这里总结了我已采取的所有步骤。下载了Windows的QtSDK(4.6.3),并成功使用了一段时间。下载了适用于Windows的opencv2.3.1megapack,其中包含二进制文件。我设法成功编译了包括opencv在内的Qt项目,但是任何opencv函数调用都导致崩溃。我在一些论坛上读到Windowsmegapack中的二进制文件不支持Qt,我必须自己构建o

windows - Qt - 通过双击打开自定义文件

我有一个程序和一个包含几行信息的.l2p文件。我运行了一个注册表文件:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\.l2p\DefaultIcon]@="\"C:\\ProgramFiles\\ToriLori\\L2P.exe\",0"[HKEY_CLASSES_ROOT\.l2p\shell\Open\command]@="\"C:\\ProgramFiles\\ToriLori\\L2P.exe\"\"%1\""当我双击.l2p文件时,程序启动但不加载文件。我需要做什么才能使其正确加载?示例代码将不胜感激。

windows - 如何删除 QTreeView 左侧的空白区域

我有一个子类QTreeView。我需要让它看起来像简单的QListView没有子项目的空间(左角间距)。我应该怎么办?Qt是4.7.4。已经尝试过setRootIsDecorated但没有帮助。我试过QTreeView::setIndentation,但也没有用。 最佳答案 我在使用QTreeWidgets时遇到了同样的问题,它们有一个默认启用的“rootIsDecorated”设置。禁用它,工作完成。 关于windows-如何删除QTreeView左侧的空白区域,我们在StackOve

c++ - Qt 如何设法将 main() 用于 Windows 中的非控制台应用程序?

正如Microsoft自己解释的那样,控制台程序使用main(),但非控制台Win32程序使用WinMain()作为入口点。事实上,在VisualStudio的Win32项目中使用main()会导致链接器错误。但是在Qt项目中,无论是从QtCreator还是VisualStudio创建的,GUI程序都像控制台程序一样使用main()。Qt人员如何做到这一点? 最佳答案 Qt使用WinMain()definedinqtbase/src/winmain/qtmain_win.cpp,随后calls我们的“虚构”intmain(intar

windows - 如何调用QT_SCALE_FACTOR?

我的电脑上安装了Anaconda。但是,当我打开Spyder时,它看起来很糟糕,因为DPI很高。我被告知运行QT_SCALE_FACTOR=2.5spyder来解决问题。但是,我返回'QT_SCALE_FACTOR'未被识别为内部或外部命令、可运行程序或批处理文件。这令人沮丧,因为我通过Anaconda安装了pyqt。它也是我路径的一部分C:\...\Anaconda3\Lib\site-packages\PyQt5如果我调用qmake-query,我得到:qmake-queryQT_SYSROOT:QT_INSTALL_PREFIX:C:/Users/.../Anaconda3/Li

C++ - 如何隐藏其他应用程序的窗口

我正在尝试创建一个软件(Qt/C++)。其中我需要一个基于窗口标题隐藏其他应用程序窗口的功能。隐藏意味着不可见而不是最小化。任何人都可以说如何实现这一目标吗?我目前在Windows平台上工作。注意:如果您通过Qt提供解决方案,它会给您带来更多的舒适感。因为它提供了平台独立性。 最佳答案 对于Windows,如果您有另一个应用程序窗口的HWND,您可以调用ShowWindow函数,像这样:ShowWindow(hWnd,SW_HIDE);您可以使用FindWindow获取另一个应用程序窗口的HWNDAPI函数。像这样与其他应用程序交互