Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 移动具有属性QT::CustomizeWindowint的QT窗体;_C++_Qt_Qt5 - Fatal编程技术网

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所评论的,您需要自己处理窗口的拖动,因为默认情况下,窗口在拖动时不会移动,除非通过标题栏进行移动。

当用户可以通过鼠标按下拖动释放来移动表单时,您可以实现表单的拖动功能。这可能是你需要的。