是否所有的Qt应用程序都需要安装KDE?如果Qt运行时与GNOME一起安装就足够了吗?我可以让一个Qt应用程序看起来像GNOME下的一个GTK应用程序吗?任何人都可以请我指出一些文章,详细说明Qt,GTK,KDE,GNOME,X之间的关系吗?Qt应用程序是否需要KDE?
回答
在X下运行时,Qt应用程序和窗口管理器都是X客户端。它们都与XServer通信以绘制,接收输入或操作窗口。 XServer了解硬件并处理绘制到特定显示器,接收鼠标输入等。
可以在没有桌面环境的情况下运行Qt应用程序,甚至不需要窗口管理器(尽管您无法使用移动/调整程序的大小)。窗口管理器等只是正常运行的X程序,它们提供了自己的功能,但只是间接地相互影响。他们不依赖于另一个特定的程序运行。
窗口(位置,排序,内容)的状态由X服务器管理,可以通过诸如窗口管理器之类的程序查询和更改。
窗口管理器处理窗口的大小,定位和装饰。它在窗口创建/更改时接收事件,以便它可以这样做。它在窗口周围绘制框架,并处理关闭,最大化,拖动窗口等的点击。
Qt应用程序在主窗口内绘制并处理窗口内的鼠标点击和按键。
Qt可以通过从窗口发送XEvents(调整大小/移动)或设置WM提示(对话框,重要,不可调整大小)与窗口管理器进行通信。这些都通过XServer,如果没有程序正在监听它们,它们将不起作用。
感谢您的信息。我想更详细地了解这些内容。你能否给我提供网上任何资源的链接? – BlueSilver 2010-03-22 09:15:07
您可以尝试: http://www.sbin.org/doc/Xlib/ http://www.freedesktop.org/wiki/ – fgb 2010-03-22 13:39:55
好的,反之亦然。从历史上看,KDE(现在)是建立在奇趣Qt C++框架上的。 Qt C++现在是跨平台的,这使得KDE冒险游戏更顺畅。所以很快:KDE取决于Qt :)
我经常在我的Mac上运行Qt应用程序,偶尔在Windows上运行,我完全确定Mac和Windows PC都没有安装KDE(也不是Gnome) )。所以,对于你的第一个问题,答案是“绝对不”:-)。
Qt只是一个UI库,恰巧KDE是用Qt编写/使用的。
只要您安装了Qt库,您就可以使用Qt编写应用程序并在安装了gnome的情况下运行该应用程序。
是的,你可以让Qt应用程序看起来像gnome应用程序,只要它使用系统正在使用的主题即可。 (不知道如何才知道它一般)我使用几个基于Qt UI的应用程序在ubuntu下用gnome编写的python,他们使用的主题很好。
当您开发Qt应用程序时,您的选择之一是在应用程序中包含KDE窗口小部件或库。如果你这样做,那么你会需要一些KDE包(在Linux上)或库来安装在你的目标机器上以及Qt上。我不确定Windows或Mac上这些软件的可用性是什么,尽管有人试图将KDE移植到Windows上,但仍在继续。
- 1. 是否应用程序需要的app.config
- 2. AppMobi应用程序是否需要Applab?
- 3. Qt - 如何检测应用程序是否在GNOME或KDE上运行?
- 4. Qt需要将Qt应用程序从win32应用程序调用到前台
- 5. 使用KDE系统主题在纯Qt应用程序
- 6. 为KDE应用程序配置Qt创建器
- 7. 我们是否需要应用层单页应用程序
- 8. 是否需要admin.py是每个django应用程序?
- 9. iOS应用程序是否需要注册流程?
- 10. 我是否需要为我的应用程序创建线程?
- 11. Appium for iOS应用程序是否需要应用程序的源代码?
- 12. 使用docker,如果应用程序需要redis,VM是否需要redis?
- 13. 应用程序是否需要使用iCloud使用许可?
- 14. 用户数据加密应用程序是否需要ECCN?
- 15. 建筑SPA应用程序。是否需要调用RenderBody?
- 16. 我是否需要Oauth2用于我的Web应用程序API
- 17. openParentApplication:reply是否需要启用应用程序组功能?
- 18. Qt确定应用程序是否从Qt Creator启动?
- 19. Qt :: paintEvent是否需要重入?
- 20. MahApps.Metro是否需要Windows 8.1 WPF应用程序?
- 21. 我是否需要此应用程序的数据库?
- 22. ASP.net应用程序是否需要上传.cs和.designer.cs文件
- 23. 是否需要在ASP.NET应用程序中注入.InPerRequestScope DbContext?
- 24. 是否谷歌地图需要IOS应用程序(为什么)
- 25. 锁定应用程序是否需要root权限?
- 26. 我的应用程序是否需要.NET框架3.5?
- 27. 应用程序运行后是否需要java .class文件?
- 28. 报亭应用程序是否需要推送通知?
- 29. 如果需要,应用程序是否可以超过iPod?
- 30. 是否需要为付费应用程序实施许可API?
在linux上,是否正确? - 应用程序使用Qt来绘制UI。 Qt引用X和X绘制硬件?是否可以简单地启动X服务器并运行没有加载GNOME或KDE的Qt应用程序?如果是这样,怎么样?窗户经理如何进入画面? – BlueSilver 2010-03-17 08:43:01
Qt是直接绘制到X上还是通过窗口管理器完成? Qt使用窗口管理器来绘制窗口,还是窗口管理器使用Qt来渲染窗口? – BlueSilver 2010-03-18 04:57:37