草庐IT

Qt开源

全部标签

c++ - 全局删除? qt应用程序中windows标题的按钮

我正在使用qt在Windows上编写一个C++应用程序,而qt总是放置这个“?”窗口标题中的按钮。目前我正在每个类的构造函数中删除它,这很烦人。有没有办法在一个地方从整个应用程序中全局删除按钮? 最佳答案 没有特定的方法,但如果您需要它用于所有对话框/窗口,您可以创建基类并在其构造函数中取消设置此标志:this->setWindowFlags(this->windowFlags()&~Qt::WindowContextHelpButtonHint);然后在所有对话框中使用这个基本对话框而不是QDialog。

c++ - 仅在 Qt 5.5 中与 RegisterDeviceNotification 链接错误

我升级到Qt5.5和RegisterDeviceNotification调用开始生成链接错误,项目未构建。它仍然使用Qt5.4构建,我在这两种情况下都使用VS2010编译器。boolMainWindow::nativeEvent(constQByteArray&eventType,void*message,long*result){MSG*msg=static_cast(message);intmsgType=msg->message;if(msgType==WM_PAINT){if(!msgp)//OnlythefirstWM_PAINT{GUIDInterfaceClassGuid

c++ - 如何在 Qt 安装程序 (1.5.0) 中建立文件关联?

如何在Windows上的Qt安装程序框架(1.5.0)中建立文件关联?我想这样做:例如,当我双击myFile.x时,我的qt桌面应用程序(Windows)将启动并打开此文件。我想在installscript.qs中更正这个:component.addOperation("CreateShortcut","@TargetDir@/A.exe","@StartMenuDir@/A.lnk");component.addOperation("RegisterFileType","fl","@TargetDir@\\A.exe"+"'%1'","myFiles","text/plain","@

c++ - Qt - 使用预处理器指令检查 Windows 上链接的 .lib 的可用性

我正在尝试在C++中使用预处理器指令来避免编译需要.lib的代码,以防库无法链接。我的.pro文件包含:INCLUDEPATH+="C:/ProgramFiles/WindowsKits/8.0/Include/um"LIBS+=-L"C:/ProgramFiles/WindowsKits/8.0/Lib/win8/um/x86"-l"winscard"我的指令是这样的:#ifdef_WINSCARD_H_//dosomething#endif或#ifndef_WINSCARD_H_//dosomething#endif此winscard附带thiswindowssdk我绝对可以使用它

android - 由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库

我正在尝试使用NDKandroid-ndk-r10e在Windows8.1上通过适用于Android的C++库构建。该库在Linux上构建得很好,但我无法在Windows上运行。我总是收到这个错误:/usr/bin/sh:C:android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++:Nosuchfileordirectory如您所见,QtCreator将g++的路径显示为C:android-ndk-r10e而实际上是C:\andr

c++ - 编译器之间的 qt dll 兼容性

Qt库声明了跨主要版本的二进制兼容性。但是不同编译器之间的兼容性呢?例如,我有一个应用程序和2个使用Qt(动态链接)的dll。但其中一个是用MSVC构建的,另一个是用MinGW构建的。因此它们链接到不同版本的Qt库(相同版本)。问题是:这些dll是否可以使用一个共享的Qtdll协同工作?如果不是,那么考虑到更改编译器不是一个选项,有哪些可行的解决方法?我查看了带有dependencywalker的Qtdll,我发现有几十个导出的函数具有编译器特定的名称重整。所以看起来不可能让它们一起工作。 最佳答案 C++没有标准的ABI。这意味着

c++ - Qt下在widget中嵌入外部应用

我想知道是否可以在Windows操作系统下的QT小部件内运行外部应用程序。例如,如果我要编写一个Qtgui应用程序,用户可以在其中一个对话框中写一些文本,我可以在那里使用文本框或类似的东西。但是,是否可以在该对话框中运行Notepad++或Windows记事本应用程序?我将不胜感激。 最佳答案 在应用程序级别执行您所描述的操作,将整个过程嵌入到另一个窗口中,这并不实际。(这在技术上会很困难,如果你能成功的话,用户体验可能会很糟糕。)幸运的是,这个应用程序组件的问题已经解决了!因此,可以通过稍微不同的机制获得您描述的最终结果。许多应用

c++ - Windows下使用MinGW-w64编译Qt5 hello world.cpp文件报 "undefined reference"错误

当我运行make编译由cmake生成的Makefile以编译Qt5应用程序的helloworld示例时,编译失败并出现以下错误:为什么编译失败?(我正在尝试做的事情的详细信息)我在Windows10下,使用从Qtofficialwebsite下载的Qt5.5二进制文件,mingw-w64gcc和g++随WinBuilds一起提供,以及从officialwebsite下载的cmakev3.6并使用Windowswin64-x64安装程序安装。我正在尝试编译Qt5'sofficialwiki中提供的以下helloworld测试文件:#includeintmain(intargc,char*

linux - 将 Qt 程序从 Linux 部署到 Windows

我正在Linux上开发一个Qt程序,我也想在Windows上发布它。Windows的编译和静态链接与MXE(安装了qtbase)配合得很好,但我想动态链接我的程序。动态链接有效,程序在Wine下运行,但是当我将EXE和DLL复制到Windows时,程序出现错误:“此应用程序无法启动,因为它无法在中找到或加载Qt平台插件“windows”“”。”在Windows上,windeployqt将应用程序运行所需的所有内容整齐地放在一个文件夹中。有没有办法让这个工具(或类似工具)在Linux上运行? 最佳答案 您缺少可执行文件所需的几个文件。

c++ - 如何将我的 Qt 应用程序主窗口始终放在 Windows 任务栏上方?

我有一个Qt应用程序,它保留在其他窗口之上。主窗口是无框透明的。为了将它放在其他窗口之上,我遵循了以下过程。SetForegroundWindow((HWND)winId());Qt::WindowFlagsflags=this->windowFlags();flags=flags&~Qt::WindowMinimizeButtonHint;this->setWindowFlags(flags|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);ui.setupUi(this);此代码片段将我的Qt主窗口置于所有窗口之上以及任务栏之上。问