• 13576阅读
  • 4回复

求助QMainWindow标题栏的隐藏问题,听说标题要长长长长长长长长长长 [复制链接]

上一主题 下一主题
离线xinqingfly
 

只看楼主 倒序阅读 楼主  发表于: 2010-08-30
— 本帖被 XChinux 执行加亮操作(2010-09-02) —
我本来想在标题栏中实现加入自定义按钮的功能,但是没找到能在标题栏插入按钮的方法;现在采用将标题栏隐藏掉,自己创建一个工具栏来实现标题栏原来的功能,目前遇到问题就是当我把标题栏隐藏掉后QMainWindow自带的外框部分就没有了,这样就无法使用鼠标拖动窗口右下角进行窗口的缩放,请问哪位知道如何能保留拖动的功能或者能自己定制标题栏,谢谢
菜鸟也是鸟
离线beaujolais
只看该作者 1楼 发表于: 2010-08-30
QWidget::setWindowFlags(Qt::CustomizeWindowHint);

这样可以隐藏标题栏,同时仍然可以缩放,但是没办法移动窗口了,

不过你可以自己做一个Frame来作为你的标题栏,同时重写鼠标移动事件,那么就能移动窗口了.

标题栏是有你自己的操作系统控制的,可以创建你自己的标题栏,但是这要花你很多精力.
离线xinqingfly

只看该作者 2楼 发表于: 2010-08-30
谢谢楼上回复,移动窗口和最大最小化我已经实现了,现在没法实现的就是隐藏标题栏后鼠标拖动右下角改变窗口大小
菜鸟也是鸟
离线dbzhang800

只看该作者 3楼 发表于: 2010-08-30
引用第2楼xinqingfly于2010-08-30 18:19发表的  :
谢谢楼上回复,移动窗口和最大最小化我已经实现了,现在没法实现的就是隐藏标题栏后鼠标拖动右下角改变窗口大小

http://developer.qt.nokia.com/faq/answer/how_can_i_handle_events_in_the_titlebar_and_change_its_color_etc
离线xinqingfly

只看该作者 4楼 发表于: 2010-08-31
谢谢dbzhang800,重载事件确实是个办法,我使用的是QMainWindow,昨天忽然想起来试试保留窗口的状态栏,结果发现在有状态栏时,即使隐藏了标题栏也可以通过状态栏右下角进行缩放,不过这样只能在一个角度缩放,基本达到目的,谢谢各位;另外再想提个问题,QMenuBar能装入QWidget吗,还是只能用QAction,我想在隐藏标题栏后用菜单栏做标题栏,否则加入的QMdiArea的子窗口在 SubWindowView模式下最大化无法内嵌到QMainWindow中
菜鸟也是鸟
快速回复
限100 字节
 
上一个 下一个