草庐IT

QT多线程

全部标签

windows - 我在哪里可以获得 dll 以在 Windows 上的 Qt 中部署应用程序?

我的应用程序从QtCreator成功运行,但在资源管理器中它警告缺少dll等。我在包含.exe的目录中复制了QtCore4.dll、QtGui4.dll,但它滥用了与vs运行时相关的东西!screenshot(还有一个问题是QtCore4.dll,QtGui4.dll哪个合适,因为有些版本大小不同,我认为它们的组合可能会导致错误)我能做什么? 最佳答案 找出Qt应用程序需要哪些DLL文件的一种方法如下:从QtCreator启动应用程序。打开ProcessExplorer(由Microsoft提供)并从列表中选择您的申请流程。单击“查

c - 在 Windows 上安装定时器/时钟 ISR - 单线程环境中的异步调用

我正在改进一些代码,这些代码模拟了x86Windows系统上的上下文切换调度程序。该程序使用一些古老的BorlandC编译器在WindowsXP(编辑:可能不是Windows7)上编译,并且正在移植为MSVC可编译。有一次,代码通过dos.h中的这些不可用函数安装ISR:void(*)()getvect(int)voidsetvect(int,void(*)());具体来说,代码为(循环)定时器中断安装了一个ISR。这些电话是:tick_isr_old=getvect(0x08);setvect(0xF2,tick_isr_old);setvect(0x08,(voidinterrup

c++ - 如何使用 C++ 在 Windows 中创建守护线程?

我正在尝试使用nativeAPI在C++中为Windows创建一个守护线程,但我似乎找不到任何对守护线程的引用。有没有人有与此相关的文档的链接,或者在Windows上是否有不同的术语?如何在C++中的Windows上创建守护线程? 最佳答案 在Windows中,当进程准备好退出时,您的主线程应该调用ExitProcess或从main()函数返回。如果有其他不应终止的线程正在运行,您有责任跟踪这一点,并且在这些线程完成之前不要退出主函数。实际上,这意味着所有线程都是“守护线程”。(原则上,没有线程是守护线程;如果您显式终止主线程,则该

windows - Qt链接静态构建库

我有一个目标为lib的项目,另一个目标为app。第一个项目成功构建为静态和动态(共享)库。第二个项目成功链接了一个dynamiclib,但是它不能链接一个staticlib。出现许多错误消息,例如LNK2001:unresolvedexternalsymbol。应用程序专业版:TEMPLATE=appCONFIG+=staticlink_prlorderedDEFINES+=QT_NODLLQT+=coreguinetworkxml...#---LINKQUAZIPLIBSHARED---#LIBS+=-L$$quote(C:/Qt/quazip/build-quazip-0.5.1-

python qt在后台等待热键

我正在用python构建一个qt应用程序。我需要做的一件事是在后台等待诸如ctrl+b之类的组合键,然后用当前事件的窗口做一些事情。是否有一个简单的库可以做到这一点? 最佳答案 SetglobalhotkeywithPython2.6http://bytes.com/topic/python/answers/574341-how-create-global-hotkeyPythonGlobalHotkeyWindows看起来像pyhook或wxPython,Linux看起来像XLib,或者Gnome可能是keybinder。如果你只

windows - 在初始 Windows 启动后立即启动 Qt 应用程序

我需要在Windows登录表单显示之前启动我的应用程序,并且登录过程应该在应用程序内完成。Qt框架如何做到这一点? 最佳答案 仅使用Qt无法自定义Windows图形识别和身份验证(GINA)。GINA是某些MicrosoftWindows操作系统的组件,可提供安全身份验证和交互式登录服务。您将必须实现自定义GINA,这涉及为一组nativeAPI调用提供实现。有关此主题的更多信息,请访问Wikipedia。. 关于windows-在初始Windows启动后立即启动Qt应用程序,我们在St

c++ - MFC GUI 应用程序重写 - 线程、消息传递、文档/ View 等。需要建议

我正在重写一个有很多问题的MFC应用程序。主要问题是不稳定。它是一个GUI应用程序,通过USB与外部模块通信。因此,它通过使用计时器每n毫秒运行一次通信堆栈。然而,系统调用不允许在计时器回调中使用,因此程序不稳定,因此经常崩溃和挂起。所以我必须重写应用程序以在后台线程中运行通信堆栈。这里的另一个问题是数据没有完全与表示分离,如果我使用另一个线程,我必须确保我保护共享资源。所以,主要是通信栈会通知应用程序有新的数据。这应该由工作线程处理。它运行通信堆栈,处理新消息,然后在更新数据结构时锁定数据结构,然后回复模块。然后它向主线程发送一strip有PostMessage的消息以更新GUI。但

c++ - Qt 应用程序在使用文件打开对话框后将焦点切换到不同的应用程序

我正在将我的一个Qt应用程序在OSX上开发后移植到Windows。我在OSX上没有这个问题,但它现在在Windows8下发生了。当我用QFileDialog::getOpenFileName()打开并选择一个文件时,焦点切换到其他应用程序,我有alt-tab回到我的。一旦在对话框中选择了文件而不是这样做,我如何让Qt恢复到主应用程序? 最佳答案 您可能只是忘记为QFileDialog设置parent-您需要将指向当前窗口的指针传递给getOpenFileName:QStringfileName=QFileDialog::getOpe

windows - 使用 CMake 查找 Qt : Missing moc, uic, rcc

我正在尝试修复自定义构建的Qt的安装。我正在使用来自thisverysimilarquestion的qt.conf.但是,CMake2.8.7仍然无法找到moc、uic和rcc。CMakeErroratC:/ProgramFiles(x86)/CMake2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97(MESSAGE):CouldNOTfindQt4(missing:QT_MOC_EXECUTABLEQT_RCC_EXECUTABLEQT_UIC_EXECUTABLE)(foundsuitableexa

windows - QT 5.1.1 : Checkbox in QWebview shows strange behavior under Win 7 (x64)/Win 8

我的项目在基于Qt5.1.1(MSVC2010,32位)的QTCreator2.8.1中,并使用工具包编译:QT5.1.1MSVC201032位。问题是webview在Win7(x64)或Win8下显示出一些奇怪的行为。第一个复选框始终具有焦点。如果我将鼠标悬停在第一个复选框上,第二个复选框就会“突出显示”。此外,我无法选中第一个复选框,如果我单击它,第二个复选框将被选中,而第一个复选框将保持未选中状态。在WinXP下使用相同的exe或为Linux或Mac重新编译的项目不会发生错误。HTML:Test1Test2C++/QT5中的QWebview部分:QVariantresult=th