• 10701阅读
  • 6回复

Qt如何实现停靠窗口的收合与展开 [复制链接]

上一主题 下一主题
离线jingping1231
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-09
请教一个问题,我想实现这样一个功能,在界面上的停靠窗口,可以通过点击一个三角按钮自动将窗口收起来,然后再点击一下三角按钮又将窗口重新展开,类似于QQ我的好友前面有个箭头,点一下,我的好友展开,再点一下那个箭头,只能开到标题栏我的好友,而好友列表被收起来了。谢谢!
离线jdwx

只看该作者 1楼 发表于: 2011-10-09
回 楼主(jingping1231) 的帖子
就是QtCreator里UI编辑器左边的工具箱吧。
那个好做。在一个Qwidget里面上边放一个QToolBotton(自带下拉箭头,还可以变方向),下边放一个QListWidget。根据点击按钮打开或收起QListWidget,要想效果好一点加个定时器,在打开和收起
QListWidget时加点动画效果。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jingping1231
只看该作者 2楼 发表于: 2011-10-12
回 1楼(jdwx) 的帖子
非常感谢楼上的回答
离线jdwx

只看该作者 3楼 发表于: 2011-10-12
回 2楼(jingping1231) 的帖子
还可以用QPropertyAnimation产生动画效果
下面的例子是动画打开窗口的,代码放到构造函数里
QPropertyAnimation *animation = new QPropertyAnimation(this, "geometry", this);
animation->setDuration(5000);// 五秒
    
animation->setStartValue(QApplication::desktop()->availableGeometry());  // 设置最终大小位置 ,这里设置的是占满桌面
QPoint pcen = QApplication::desktop()->availableGeometry().center();
QPoint off(50,50);
QRect grect(pcen - off ,pcen + off);
animation->setStartValue(grect);
  animation->setEndValue(QApplication::desktop()->availableGeometry());
  animation->start(QAbstractAnimation::DeleteWhenStopped);
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jingping1231
只看该作者 4楼 发表于: 2011-10-13
回 3楼(jdwx) 的帖子
我想弱弱的问一下这个《QToolBotton(自带下拉箭头,还可以变方向),》是怎么设置的啊
离线jingping1231
只看该作者 5楼 发表于: 2011-10-13
回 3楼(jdwx) 的帖子
可不可以做一个左边是文字,右边是箭头的QToolButton啊
离线jdwx

只看该作者 6楼 发表于: 2011-10-13
回 5楼(jingping1231) 的帖子
没发现怎么能弄到右边去,看样子要自己做一个啦。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个