如何在 Qt 中创建类似 Textmate 的侧面板
Posted
技术标签:
【中文标题】如何在 Qt 中创建类似 Textmate 的侧面板【英文标题】:How to create a Textmate like side panel in Qt 【发布时间】:2012-11-10 00:59:43 【问题描述】:如何使用 C++/Qt 在 Textmate 中创建类似于文件资源管理器的侧面板?更准确地说,如下图的左侧面板:
(来源:garzaincredible.com)
最接近我需要的似乎是QDockWidget
,但我仍然不知道如何使用它。
【问题讨论】:
【参考方案1】:这就是所谓的“抽屉”。在 Qt 中,有一个特殊的 Qt::WindowFlags
标志:Qt::Drawer
。目的是在 QDockWidget 上使用这个标志:
QDockWidget* dock = new QDockWidget(parent, Qt::Drawer);
这将为停靠小部件创建一个 Cocoa 抽屉。您无需确保 Qt::Drawer
仅在 OS X 上使用;该标志在其他平台上会被忽略,因此您可以无条件指定它。
【讨论】:
非常感谢,但有没有办法让它跨平台(例如应用程序在 Linux 机器上看起来也一样)? @DodonVictor 不。这是由 Cocoa 实现的,而不是 Qt。它不能在其他平台上运行。无论如何,这不是一个好主意。人们以前从未见过的陌生的 GUI 概念大多会导致混乱。此外,在决定使用此 Mac 功能之前,您可能需要阅读这篇文章:mcelhearn.com/2006/07/29/…以上是关于如何在 Qt 中创建类似 Textmate 的侧面板的主要内容,如果未能解决你的问题,请参考以下文章
在每个矩形中创建 9 个圆(每个角 4 个,侧面 4 个,中间 1 个)同时/立即创建一个矩形