我们正在实现一个需要可停靠窗口的应用程序,类似于Visual Studio 2005/2008,但具有多个"停靠站点",与VS的单一站点不同.有没有人建议在一个好的图书馆 - OSS或商业?我知道Infragistics有一个,以及来自DevComponents的Divelement的SandDock和WPF-Dock,以及ActiPro的Docking和MDI产品.CodeProject上还有一个.有没有人使用过这些库?体验好坏?如果您有其中一个经验,它是否支持多个"停靠站点"?
是否可以使用Qt 4.4创建自定义停靠区。我知道这是可能的Qt中3,因为这文件建议。摘录自文档“ ...如果需要创建自己的停靠区,我们建议您创建QWidget的子类并将Q3DockAreas添加到子类中。”。但是,在我看来,在Qt 4中Q3DockArea已被删除,现在QMainWindow本身具有停靠区。我基本上想拥有自己的停靠区小部件,可以将其停靠到其中。该停靠区小部件可以在应用程序中的任何位置。关于如何执行此操作的任何想法?
我想要一个Qt窗口,在右边提供以下Dock功能部件的排列方式.
alt text http://img72.imageshack.us/img72/6180/docksonside.png
Qt允许您为指定位置(顶部,底部,左侧或右侧)的addDockWidget
方法提供参数,QMainWindow
但显然不是如何安排两个QDockWidgets
放置在同一侧的方法.
这是添加dock小部件的代码.这使用PyQt4,但对于Qt和C++应该是相同的
self.memUseGraph = mem_use_widget(self)
self.memUseDock = QDockWidget("Memory Usage")
self.memUseDock.setObjectName("Memory Usage")
self.memUseDock.setWidget(self.memUseGraph)
self.addDockWidget(Qt.DockWidgetArea(Qt.RightDockWidgetArea),self.memUseDock)
self.diskUsageGraph = disk_usage_widget(self)
self.diskUsageDock = QDockWidget("Disk Usage")
self.diskUsageDock.setObjectName("Disk Usage")
self.diskUsageDock.setWidget(self.diskUsageGraph)
self.addDockWidget(Qt.DockWidgetArea(Qt.RightDockWidgetArea),self.diskUsageDock)
Run Code Online (Sandbox Code Playgroud)
当这段代码用于将它们添加到右侧时,一个在另一个之上,而不像我制作的屏幕截图.我拍摄这个镜头的方法是在启动程序后用鼠标拖动它们,但我需要它以这种方式启动.