Questions tagged «qt»

Qt是一个跨平台的应用程序开发框架,广泛用于开发应用程序软件,该应用程序可以在各种软件和硬件平台上运行,而底层代码库几乎没有变化,而具有本机应用程序的功能和速度。Qt具有商业和开源许可证。

5
退出Qt程序的正确方法?
我应该如何退出Qt程序,例如在加载数据文件时发现文件损坏,并且用户需要退出该应用程序或重新启动数据文件? 我是不是该: 呼叫 exit(EXIT_FAILURE) 呼叫 QApplication::quit() 呼叫 QCoreApplication::quit() (2)和(3)之间有什么区别?
129 qt  resources  exit  quit 

4
问:如何处理用户按下“ X”(关闭)按钮的事件?
我正在使用Qt开发应用程序。我不知道哪个插槽对应于“用户单击窗口框架的'X'(关闭)按钮”事件,即此按钮: 如果没有用于此的插槽,那么有人可以建议我其他一些方法,以便在用户按下关闭按钮后启动功能。
126 c++  qt 

17
Qt 5.1.1:由于缺少平台插件“ Windows”,应用程序无法启动
编辑: 有些人开始将我的问题标记为重复。当我问这个问题时,请不要忘记存在许多类似的问题(例如,参见下面的列表)。但是,这些答案都不能解决我的问题。经过长时间的搜索,我发现一条注释已被所有指向丢失的lib的用户忽略。现在,几个月后,评论已更改为答案。但是,当我自己回答这个问题时,我打算通过直接提供解决方案来帮助其他人。不应忘记这一点,到目前为止,我的回答对很多人有所帮助。因此,我的问题绝对不是重复的。 顺便说一句:在顶部提供的链接中接受的答案不能解决问题! 是的,我使用了搜索: 无法加载平台插件“ Windows”。可用的平台有:错误 从Visual Studio qwindows.dll错误部署Qt C ++应用程序 无法加载平台插件“ windows”可用平台为:Windows,最小 但是,就我而言,问题仍然存在。我将Qt 5.1.1与Visual Studio 2012一起使用,并在Windows 7上使用Qt Creator 2.8.1开发了我的应用程序。应用程序以“发布”模式编译,如果直接用Qt Creator启动,则可以执行。 但是,从“发布”文件夹开始时,我收到以下消息: 此应用程序无法启动,因为它找不到或加载Qt平台插件“ windows”。可用的平台插件有:最小,离屏,Windows。 文件夹结构如下所示: release + gui.exe + icudt51.dll + icuin51.dll + icuuc51.dll + libGLESv2.dll + Qt5Core.dll + Qt5Gui.dll + Qt5Widgets.dll + platforms 平台是直接从Qt \ Qt5.1.1 \ 5.1.1 \ …

8
Qt Creator-项目错误:Xcode设置不正确。您可能需要通过运行/ usr / bin / xcodebuild来确认许可协议
我刚刚安装了Qt 5.5,并在OS X上第一次使用Qt Creator。当我第一次安装Qt时,它给我一个错误消息“未安装Xcode 5”,我认为这很奇怪,(我有Xcode 7 beta) ,但安装仍然成功完成。 现在,当我启动或打开项目时,出现错误: 项目错误:Xcode设置不正确。您可能需要通过运行/ usr / bin / xcodebuild来确认许可协议。 /usr/bin/xcodebuild在终端中运行时,得到以下信息: xcode-select:错误:工具'xcodebuild'需要Xcode,但是活动的开发人员目录'/ Library / Developer / CommandLineTools'是命令行工具实例 我不确定Xcode与Qt Creator有什么关系,除非它与访问库具有跨平台兼容性有关,但是有没有办法解决此问题?
121 c++  xcode  macos  qt  qt-creator 

6
检测stdin是终端还是管道?
当我python从终端不带任何参数执行“ ”时,它将弹出Python交互式shell。 当我cat | python从终端执行“ ”时,它不会启动交互模式。不知何故,它没有得到任何输入,就检测到它已连接到管道。 如何在C或C ++或Qt中进行类似的检测?
118 c++  c  qt  pipe  stdin 

12
手工编码的GUI与Qt Designer的GUI [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 2年前关闭。 改善这个问题 我花这些假期学习编写Qt应用程序。几个小时前,我正在阅读有关Qt Designer的文章,这使我感到奇怪:用Qt编写现实世界应用程序的人会使用什么来设计其GUI?实际上,人们通常如何设计GUI? 我发现,尽管对于复杂的GUI设计器来说,手工编写代码在概念上比使用Qt Designer更简单。使用Designer可以使用大型GUI,但是随着时间的推移,随着复杂性的增加,它们可能变得非常难以管理(这只是我的看法)。我还下载了AmaroK源代码以窥探这些家伙在做什么,并发现了许多对addWidget()和朋友的调用,但是没有一个由Designer创建的XML文件(除了:AmaroK一直是我最喜欢的应用程序)任何平台)。 那么,创建GUI的“正确”方法是什么?设计者还是代码?在此讨论中,让我们考虑以下类型的GUI: 只需要输入的简单对话框即可显示一些结果并退出。假设有一个使用YouTube URL并将视频下载到用户硬盘的应用程序。新手可能会开始使用的那种应用程序。 中级GUI,例如带有几个工具栏/菜单项的便笺编辑器。让我们以xPad为例(http://getxpad.com/)。我会说大多数应用程序都属于“实用程序”类别。 非常复杂的GUI,例如AmaroK或OpenOffice。当您看到它们时,您就知道它们,因为它们会使您的眼睛流血。


8
Qt:找不到-lGL错误
我刚刚重新安装了QtCreator,创建了新项目(Qt Application),编译后得到了这个: /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process "/usr/bin/make" exited with code 2. Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit) When executing step 'Make' (项目为空,我没有提交任何更改) 基于Qt 5.1.0(32位) Ubuntu 13.04的Qt Creator 2.7.2 我该如何解决这个问题?


11
如何在QMake .pro文件中指定不同的Debug / Release输出目录
我有一个Qt项目,我想在源代码树之外输出编译文件。 我目前具有以下目录结构: / |_/build |_/mylib |_/include |_/src |_/resources 根据配置(调试/发行版),我想将生成的文件输出到build / debug或build / release目录下的build目录中。 我该如何使用.pro文件呢?
106 qt  qmake 

6
为什么Qt滥用模型/视图术语?
我认为Qt中使用模型/视图控件的术语存在缺陷。他们在其解释页上指出,他们通过合并View和Controller将MVC简化为MV,并给出了以下图片: 但是我认为,他们错误地命名了对象的角色,我认为, 他们所说的带有合并Controller的View实际上只是一个View。 他们所谓的Model实际上只是Controller。 如果您真的想要一个模型,它将在他们的“数据”所在的地方。 我说的是您在应用程序中使用Qt模型/视图组件的惯常而明智的方式。原因如下: 这通常是按原样使用的Qt组件,无需添加任何特定于对象的Controller逻辑) 这几乎不是模型,只是因为您应该实现几种Qt方法,例如rowCount,columnCount,data等,这些方法与模型无关。实际上,在Controllers中可以找到典型的模型方法。当然,您可以在此处实现Controller 和 Model逻辑,但首先这将是非常糟糕的代码设计,其次,您将合并Controller和Model而不是Controller和View所声明的状态。 如原因2所述,如果您想分离模型逻辑,那肯定不是图片上的蓝色框,而是虚线的“数据”框(当然是与真实数据通信)。 Qt的术语是错误的,还是只有我不理解?(顺便说一句,这不是学术性的问题,是因为我开始按照他们的名字对我的项目进行编码,而我很快发现,代码显然是不正确的。只有在我意识到之后,我才应该不要尝试将模型逻辑放入他们所谓的模型中)

9
如何为项目QtCreator创建子目录?
我想将我的Qt项目分成几个目录,因为它越来越大。但是,当我单击QtCreator中的浏览器时,没有“添加目录”,在“添加新”中也没有这样的东西。可以以某种方式做到这一点吗?
102 qt  qt-creator  qmake 

17
在未安装qt的Linux上启动qt5应用程序时,“无法加载平台插件“ xcb””
我为使用Qt5的Linux编写了应用程序。 但是,当我尝试在未安装Qt SDK的Linux上启动它时,控制台中的输出为: 无法加载平台插件“ xcb”。可用的平台有: 我怎样才能解决这个问题?可能需要复制一些插件文件吗?当我在安装了Qt5的情况下使用ubuntu时,但我重命名了Qt目录时,也会发生相同的问题。因此,它使用了Qt目录中的一些文件... 更新:当我在应用程序目录“ platforms”文件夹中创建文件libqxcb.so时,该应用程序仍无法启动,但错误消息发生了变化: 无法加载平台插件“ xcb”。可用的平台有: xcb 怎么会这样 平台插件如何可用但无法加载?
101 linux  qt  xcb 

2
Qt是否支持虚拟纯插槽?
我的GUI项目中Qt有很多“配置页”类,它们都直接从继承QWidget。 最近,我意识到所有这些类都共享2个公共插槽(loadSettings()和saveSettings())。 对此,我有两个问题: BaseConfigurationPage用这两个插槽作为虚拟纯方法编写中间基础抽象类(让其命名)是否有意义?(每个可能的配置页面都将始终具有这两种方法,因此我会说“是”) 在进行代码的重大更改之前(如果需要):Qt是否支持虚拟纯插槽?我有什么需要注意的吗? 这是描述所有内容的代码示例: class BaseConfigurationPage : public QWidget { // Some constructor and other methods, irrelevant here. public slots: virtual void loadSettings() = 0; virtual void saveSettings() = 0; }; class GeneralConfigurationPage : public BaseConfigurationPage { // Some constructor and other methods, irrelevant here. public slots: void …

3
使用发射与调用信号,就好像它是Qt中的常规函数​​一样
假设我有这个信号: signals: void progressNotification(int progress); 我直到最近才了解到Qt中的generate关键字。到目前为止,我以前只是通过像常规函数一样调用信号来执行信号。所以代替: emit progressNotification(1000 * seconds); 我会写: progressNotification(1000 * seconds); 像这样调用它们似乎可行,并且所有连接的插槽都将执行,所以使用send关键字是否会导致不同的行为,或者仅仅是语法糖?
97 c++  qt 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.