• 8654阅读
  • 5回复

QT4.7中如何隐藏顶级窗口的标题栏和边框,已解决 [复制链接]

上一主题 下一主题
离线shayucm
 

只看楼主 正序阅读 楼主  发表于: 2011-04-12
大侠们好,我有个小问题想请教下大家。
QT4.7中,基于QGraphicsView编写了一个程序,目标是跑在6410开发板上。我想实现的效果是无边框的窗口
之前有看帖说可以用Qt::FramelessWindowHint,所以我用了这样的方式:
class myclass: public QGraphicsView
{
        Q_OBJECT
        public:
                myclass(QWidget *parent = 0)
                       :QGraphicsView(parent,Qt::FramelessWindowHint)
       ...
}
编译提示:no matching function for call to 'QGraphicsView::QGraphicsView(QWidget*&,Qt::WindowType)'
请问怎么能解决呢?比较急,请大家帮帮忙啊!!谢谢了

[ 此帖被shayucm在2011-04-13 10:08重新编辑 ]
离线shayucm

只看该作者 5楼 发表于: 2011-04-13
回 4楼(frog) 的帖子
谢谢frog!!这种方式确实最方便。

也谢谢大家!
离线frog
只看该作者 4楼 发表于: 2011-04-12
我试了一下,使用setWindowFlags(Qt::FramelessWindowHint);确实可以。这样做,也就不会像我上面说的那样麻烦了。
离线frog
只看该作者 3楼 发表于: 2011-04-12
如果你想让QGraphicsView类的窗口部件作为无边框的窗口的实现,只能先做一个无边框的窗口QWidget部件,然后让QWidget成为QGraphicsView的父窗口parent。
离线frog
只看该作者 2楼 发表于: 2011-04-12
QGraphicsView的用法不是像你这样用的。QGraphicsView(parent,Qt::FramelessWindowHint),这样写是错误的。

QGraphicsView构造函数的原型是这样的:QGraphicsView ( QWidget * parent = 0 );
QGraphicsView ( QGraphicsScene * scene, QWidget * parent = 0 );

至于你所说的Qt::FramelessWindowHint,是针对QWidget类来使用的。
QWidget的构造函数原型是QWidget::QWidget ( QWidget * parent = 0, Qt::WindowFlags f = 0 );
使用时,像这样写QWidget (parent , Qt::FramelessWindowHint );就可以实现无边框了。
离线roywillow

只看该作者 1楼 发表于: 2011-04-12
………………………………
显然人家QGraphicsView的构造函数应该是没有那种形式的应该
你需要在myclass的构造函数中进行Qt::FramelessWindowHint
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个