wangwenx190 / framelesshelper

Project moved to: https://github.com/stdware/qwindowkit Cross-platform window customization framework for Qt Widgets and Qt Quick. Supports Windows, Linux and macOS.
MIT License
846 stars 202 forks source link

请教关于Qmainwindow的布局问题 #316

Open wuyedefeng9 opened 10 months ago

wuyedefeng9 commented 10 months ago

Qt的Qmainwindow或者Qwidget有默认的布局,任何子类的控件会默认绘制在标题栏下方。但是我自定义的类,无论是继承于QObject或者Qwidget,假如设置为无边框并且使用了布局,设置了centerwidget,但子类的控件默认的绘制位置依然在左顶角,如何实现Qmainwindow或者Qwidget的效果?

wangwenx190 commented 10 months ago

去掉系统边框后你自己组织内部的控件就行了,包括标题栏。但如果你设置了central widget,那么确实只能从左上角开始绘制,这个是QMainWindow内部固定的逻辑。要不你就别设置central widget,或者把你所有控件都放到一个central widget里

wuyedefeng9 commented 10 months ago

其实我想达到的效果就是QMainWindow的效果,只要是继承了自定义的无边框类,无论我自己如何构造子类,控件绘制都是从自定义的无边框类标题栏下方开始绘制

wangwenx190 commented 10 months ago

QMainWindow有什么功能是你必须要用的?dock 停靠?

wangwenx190 commented 10 months ago

如果你不需要dock功能,你完全可以自己用布局模拟一个QMainWindow出来