Qt的dock widget应该增加个自动隐藏等功能。不知道是否有人赞同。

193 views
Skip to first unread message

Nocode

unread,
Sep 8, 2009, 2:51:16 AM9/8/09
to Qt中文
像vistual studio中解决方案浏览器那种(java的IDE也有此种部件)自动隐藏功能很方便;相比之下,dock widget只有还
原,关闭。
另外,dock widget可停靠的区域限制太多,与vistual studio相比。

Mike Chen

unread,
Sep 8, 2009, 5:12:12 AM9/8/09
to qt-c...@googlegroups.com
这个我觉得自己实现不难,自己加一个按钮,有一个shouldAutoHide的property,为真的话,每当move的时候,就留一个小边栏,当鼠标经过时show即可,离开再留个边栏。毕竟Qt只是一个库,最终很多还是要自己实现。

2009/9/8 Nocode <towa...@gmail.com>:

linzhavon

unread,
Sep 8, 2009, 5:28:00 AM9/8/09
to qt-c...@googlegroups.com
是的.自己可以实现它.

在 09-9-8,Mike Chen<ccp...@gmail.com> 写道:

--
从我的移动设备发送

vivian

unread,
Sep 8, 2009, 12:11:45 PM9/8/09
to qt-c...@googlegroups.com
我绝对支持.
我自己试过自己实现,但发现不好实现,因为QT针对Dock Widget的API不够多,不是很好控制.

2009/9/8 linzhavon <linz...@gmail.com>




--
不抛弃 不放弃
www.bilive.com
做优秀的软件

vivian

unread,
Sep 8, 2009, 12:12:32 PM9/8/09
to qt-c...@googlegroups.com
改QT底层代码倒是可以,但总是不太好.

2009/9/8 linzhavon <linz...@gmail.com>

Nocode

unread,
Sep 8, 2009, 11:14:30 PM9/8/09
to Qt中文
Qt的帮助文档并没有对如何扩展Qt进行指导,同时我使用的是LGPL协议的Qt。进入Qt的实现代码后发现,其依赖许多没有文档的私有实现。
对于QDockWidget来说,其没有提供接口允许用户增加按钮(比如自动隐藏按钮,或者其他部件),在停靠状态下。至少你无法指导你的这个自动隐藏
按钮应该放在什么位置。DockWidgetFeatures标志决定了一切,而其并没有AutoHideFeature。
On 9月8日, 下午5时12分, Mike Chen <ccp0...@gmail.com> wrote:
> 这个我觉得自己实现不难,自己加一个按钮,有一个shouldAutoHide的property,为真的话,每当move的时候,就留一个小边栏,当鼠标经过-时show即可,离开再留个边栏。毕竟Qt只是一个库,最终很多还是要自己实现。
>
> 2009/9/8 Nocode <towave...@gmail.com>:

>
>
>
> > 像vistual studio中解决方案浏览器那种(java的IDE也有此种部件)自动隐藏功能很方便;相比之下,dock widget只有还
> > 原,关闭。
> > 另外,dock widget可停靠的区域限制太多,与vistual studio相比。- 隐藏被引用文字 -
>
> - 显示引用的文字 -

vivian

unread,
Sep 9, 2009, 9:10:06 AM9/9/09
to qt-c...@googlegroups.com
QDockWidget::setTitleBarWidget 可以设定标题行的控件,这里面可以加自动隐藏按钮或其它部件.
但我自己试过的结果,并不是困难在这里,而是通过接口改变QDockWidget的大小.
当然可以用其它的办法来实现,比如自动隐藏时,就把QDockWidget整个隐藏掉,在原来依靠的位置显示一个象VS中的一个标签控件.但整个觉得还是挺麻烦.因为还原这个QDockWidget也不是很好操作的事情.

2009/9/9 Nocode <towa...@gmail.com>

Nocode

unread,
Sep 9, 2009, 9:30:00 PM9/9/09
to Qt中文

我之前用过setTitleBarWidget,它的文档里说是在浮动的时候使用,而不是在停靠的时候使用。
我觉得这个自动隐藏功能本该是Qt原生支持的东西,MFC里也有这种控件。
On 9月9日, 下午9时10分, vivian <icevi.ic...@gmail.com> wrote:
> QDockWidget::setTitleBarWidget<https://mail.google.com/mail/html/compose/static_files/qdockwidget.ht...>
> 可以设定标题行的控件,这里面可以加自动隐藏按钮或其它部件.
> 但我自己试过的结果,并不是困难在这里,而是通过接口改变QDockWidget的大小.
> 当然可以用其它的办法来实现,比如自动隐藏时,就把QDockWidget整个隐藏掉,在原来依靠的位置显示一个象VS中的一个标签控件.但整个觉得还是挺麻烦-.因为还原这个QDockWidget也不是很好操作的事情.
>
> 2009/9/9 Nocode <towave...@gmail.com>

>
>
>
>
>
> > Qt的帮助文档并没有对如何扩展Qt进行指导,同时我使用的是LGPL协议的Qt。进入Qt的实现代码后发现,其依赖许多没有文档的私有实现。
> > 对于QDockWidget来说,其没有提供接口允许用户增加按钮(比如自动隐藏按钮,或者其他部件),在停靠状态下。至少你无法指导你的这个自动隐藏
> > 按钮应该放在什么位置。DockWidgetFeatures标志决定了一切,而其并没有AutoHideFeature。
> > On 9月8日, 下午5时12分, Mike Chen <ccp0...@gmail.com> wrote:
>
> > 这个我觉得自己实现不难,自己加一个按钮,有一个shouldAutoHide的property,为真的话,每当move的时候,就留一个小边栏,当鼠标经过--时show即可,离开再留个边栏。毕竟Qt只是一个库,最终很多还是要自己实现。

>
> > > 2009/9/8 Nocode <towave...@gmail.com>:
>
> > > > 像vistual studio中解决方案浏览器那种(java的IDE也有此种部件)自动隐藏功能很方便;相比之下,dock widget只有还
> > > > 原,关闭。
> > > > 另外,dock widget可停靠的区域限制太多,与vistual studio相比。- 隐藏被引用文字 -
>
> > > - 显示引用的文字 -
>
> --
> 不抛弃 不放弃www.bilive.com
> 做优秀的软件- 隐藏被引用文字 -
>
> - 显示引用的文字 -

qt初学者

unread,
Sep 9, 2009, 10:03:26 PM9/9/09
to Qt中文
我赞同

qt里面gui部分其实有很多东西需要添加,应该向WinForm/visual studio/office 2007看齐

On Sep 9, 12:12 am, vivian <icevi.ic...@gmail.com> wrote:
> 改QT底层代码倒是可以,但总是不太好.
>

Liang Qi

unread,
Sep 10, 2009, 4:01:10 AM9/10/09
to qt-c...@googlegroups.com
到目前看,没有见到Qt开发人员召集大家来对自己所希望的feature进行投票的,hehe。另外,即使有,估计他们也看不懂这里的中问讨论。

可能大家都习惯了对MFC这类闭源的东西进行讨论了。

看来有些朋友已经自己实现了这个feature,如果觉得还不错的话,为什么不提交给Qt开发人员呢?具体方法请见如下文档:
http://qt.gitorious.org/qt/pages/QtContributionGuidelines

齐亮

--
http://www.qiliang.net

Mike Chen

unread,
Sep 10, 2009, 4:41:06 AM9/10/09
to qt-c...@googlegroups.com
确实,开源和闭源区别还是很大,我相信这里的大部分人还是在Windows上开发,难免有曾经使用过MFC/.net/C#等等的,假如是Unix社区,这个信息一发布,马上有人响应,于是向官方提交patch等等都是接二连三的。

象这位同志说的:
"应该向WinForm/visual studio/office 2007看齐"

Qt作为一跨平台的库,它需要不断协调各个平台之间的UI差异,而且已经做得很不错了,Qt并不需要看齐某某开发库的功能,而是要各个开源开发者的协力合作,Qt并不是仅仅存活在Windows上,需要的功能自己可以添加就可以,假如Qt看齐了Windows,那么KDE就是windows的克隆了。假如需要看齐某某平台的库,看看MacOSX上,Mac上Native
App和Qt App就是欧洲人和亚洲人一样,照样是这样,最终它只是库,而你才是写程序的那个人。如今Qt已经开源,有代码可以参考,何乐而不为?

话说回来,隐藏DockWidget确实是比较需求的,假如能够加入这项功能就应该是不错的了。

2009/9/10 Liang Qi <cavend...@gmail.com>:

邢俊杰

unread,
Feb 15, 2015, 9:04:58 PM2/15/15
to qt-c...@googlegroups.com


在 2009年9月8日星期二 UTC+8下午2:51:16,Nocode写道:
像vistual studio中解决方案浏览器那种(java的IDE也有此种部件)自动隐藏功能很方便;相比之下,dock widget只有还
原,关闭。
另外,dock widget可停靠的区域限制太多,与vistual studio相比。

我也找这种功能找了好久了,而且这种功能自己实现难度还是很大的
Reply all
Reply to author
Forward
0 new messages