• 7085阅读
  • 1回复

QCanvasView如何去掉边框 [复制链接]

上一主题 下一主题
离线colorlife
 
只看楼主 倒序阅读 楼主  发表于: 2006-04-11

QCanvasView本身是从QScrollView及QWidget派生的,在构造函数中,有窗口属性参数,但当创建后会有边框,例如,QCanvas的幅面设置为720x576,QCanvasView幅面设置为720x576,同时去掉水平、垂直滚动条,主窗口假设为1024x768,画布居中显示,此时QCanvasView会包含边框,实际显示区域大小就成为716x572,显示不完整,这里想问的是,如何去掉QCanvasView的边框,发现WFlags参数根本不起作用,在Window下非常容易实现,而在QT中则很困难,这样的好处是画布刚好能够完全显示整个画面,当然如果直接从QWidget派生,则没有这个问题,可麻烦的是需要自己重新写QCanvasView类。

有哪位DX能够提供帮助,这里先谢了!
[ 此贴被XChinux在2006-04-11 22:24重新编辑 ]
the road of coding, go on!
离线colorlife
只看该作者 1楼 发表于: 2006-04-12

我已经解决了这个问题,方法是:
1.创建QCanvas对象时,指定width and height 为720,576
2.从QCanvasView派生自己的类,例如CDemoCanvasView,在构造函数中去掉水平/垂直滚动条,然后调用
setGeometry(x,y,720,576)
  and then call function:
  setFrameStyle(QFrame::NoFrame);
3.然后在指定的窗口中创建CDemoCanvasView对象,此时画布就没有边框了,这对贴图界面设计,尤其画面编辑类的程序非常有效

我的问题自己解决了, I'm very glad to do it by myself.
the road of coding, go on!
快速回复
限100 字节
 
上一个 下一个