QT中QWidget类参考!(94)

2023-05-03 来源:飞速影视
锚接窗口默认是被透明地移动,也就是在拖动期间,一个边框矩形会在屏幕上被绘制出来呈现锚接窗口在移动时的位置。如果你想让锚接窗口在移动时被正常显示,请使用setOpaqueMoving()。
锚接窗口的定位,也就是它的锚接区域和在锚接区域中的位置,可以通过调用getLocation()来被决定。可移动的锚接窗口可以通过lineUpDockWindows()被排列成一行来使浪费的空间最小化。锚接区域的指针可以由topDock()、leftDock()、rightDock()和bottomDock()提供。如果isCustomizable()返回真(它默认返回假),一个自定义的菜单项会被添加入弹出的锚接窗口菜单。如果你想提供这个额外的菜单项,重新实现isCustomizable()和customize(),例如,允许用户改变和主窗口以及它的工具条和锚接窗口相关的设置。
主窗口的菜单条默认是固定的(在上面)。如果你想有一个可移动的菜单条,创建一个QMenuBar作为一个在它自己可移动的锚接窗口中可伸展的窗口部件并且限制这个锚接窗口只在Top或Bottom锚接区域存在:
QToolBar *tb = new QToolBar( this );
addDockWindow( tb, tr( “Menubar” ), Top, FALSE );
QMenuBar *mb = new QMenuBar( tb );
mb->setFrameStyle( QFrame::NoFrame );
tb->setStretchableWidget( mb );
setDockEnabled( tb, Left, FALSE );
setDockEnabled( tb, Right, FALSE );
有多个锚接窗口的应用程序可以选择为了以后(例如,在下个对话中)恢复当前的锚接窗口布局来把它们保存起来。你可以通过使用QMainWindow的流操作符来做到这点。
为了保存所有锚接窗口的布局和位置,请这样做:
QFile f( filename );
if ( f.open( IO_WriteOnly ) ) {
QTextStream ts( &f );
ts << *mainWindow;
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号