C++ 移动具有属性QT::CustomizeWindowint的QT窗体;
我想去掉表单顶部的默认按钮以及表单的边框。所以我用了下面的C++ 移动具有属性QT::CustomizeWindowint的QT窗体;,c++,qt,qt5,C++,Qt,Qt5,我想去掉表单顶部的默认按钮以及表单的边框。所以我用了下面的 w.setWindowFlags(Qt::CustomizeWindowHint); 这符合我的标准,但现在的问题是,我无法在屏幕上移动表单。对于如何解决此问题,您可能需要设置更多的标志,而不仅仅是自定义窗口 如果窗口只是一个小部件:- w.setWindowFlags(Qt::Widget | Qt::FramelessWindowHint | Qt::CustomizeWindowHint); 如果是主窗口:- w.setWin
w.setWindowFlags(Qt::CustomizeWindowHint);
这符合我的标准,但现在的问题是,我无法在屏幕上移动表单。对于如何解决此问题,您可能需要设置更多的标志,而不仅仅是自定义窗口 如果窗口只是一个小部件:-
w.setWindowFlags(Qt::Widget | Qt::FramelessWindowHint | Qt::CustomizeWindowHint);
如果是主窗口:-
w.setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::CustomizeWindowHint);
否则,如果是对话框:-
w.setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::CustomizeWindowHint);
然后,正如@vahancho所评论的,您需要自己处理窗口的拖动,因为默认情况下,窗口在拖动时不会移动,除非通过标题栏进行移动。当用户可以通过鼠标按下拖动释放来移动表单时,您可以实现表单的拖动功能。这可能是你需要的。