标题:QCanvasView如何去掉边框
作者:colorlife
日期:2006-04-11 21:42
内容:
QCanvasView本身是从QScrollView及QWidget派生的,在构造函数中,有窗口属性参数,但当创建后会有边框,例如,QCanvas的幅面设置为720x576,QCanvasView幅面设置为720x576,同时去掉水平、垂直滚动条,主窗口假设为1024x768,画布居中显示,此时QCanvasView会包含边框,实际显示区域大小就成为716x572,显示不完整,这里想问的是,如何去掉QCanvasView的边框,发现WFlags参数根本不起作用,在Window下非常容易实现,而在QT中则很困难,这样的好处是画布刚好能够完全显示整个画面,当然如果直接从QWidget派生,则没有这个问题,可麻烦的是需要自己重新写QCanvasView类。
有哪位DX能够提供帮助,这里先谢了!
#1 [colorlife 04-12 10:53]
我已经解决了这个问题,方法是:
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.