• 4028阅读
  • 5回复

定制TitleBar遇到的问题 [复制链接]

上一主题 下一主题
离线wusong
 
只看楼主 倒序阅读 楼主  发表于: 2013-04-05
— 本帖被 jdwx 从 Qt 作品展 移动到本区(2013-04-05) —
关键词: QT4界面
我想自定义个TitleBar,在网上查找后写了个, 但是效果不是预期的,全部跑到左上角去了,请各位找找原因,谢谢
描述:代码
附件: Platform.zip (6594 K) 下载次数:11
离线jdwx

只看该作者 1楼 发表于: 2013-04-05
回 楼主(wusong) 的帖子
把titlebar放进布局里。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wusong
只看该作者 2楼 发表于: 2013-04-05
回 1楼(jdwx) 的帖子
谢谢 能具体讲讲怎么操作吗?
离线jdwx

只看该作者 3楼 发表于: 2013-04-05
  1. Platform::Platform(QWidget *parent, Qt::WFlags flags)
  2.     : QMainWindow(parent, flags)
  3.       //将QMainWindow改为QWidget,头文件也要改,因为QMainWindow不能直接setLayout。
  4. {
  5.     ui.setupUi(this);
  6.     /*delete the border bar*/
  7.     this->setWindowFlags(Qt::FramelessWindowHint);
  8.     /*creat the title bar*/
  9.     TitleBar *titleBar = new TitleBar(this);
  10.     QVBoxLayout *vbox = new QVBoxLayout(this);
  11.     vbox->setContentMargen(0,0,0,0);
  12.     vbox->setSpacing(0);
  13.     vbox->addWidget(titleBar);
  14.    QWidget *w = new QWidget(this);
  15.    setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  16.    //需要一个widget占位,以后可以用其它控件替换如QTextEdit。
  17.    vbox->addWidget(w);
  18. }
  19. 这样就差不多了。




发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wusong
只看该作者 4楼 发表于: 2013-04-05
回 3楼(jdwx) 的帖子
Oh, it works, thanks!
离线wusong
只看该作者 5楼 发表于: 2013-04-05
回 3楼(jdwx) 的帖子
版主 还有个问题, 我现在加按钮在.ui文件中后, 运行后按钮就像一张图片一样没有反应。 请问如何解决了?谢谢
快速回复
限100 字节
 
上一个 下一个