先抛出问题,假如我们要设计一个软件,界面如图1所示,可以看到,最小化按钮和关闭操作,都是我们自定义的,这样看起来就比较舒服。![图1](https://img-blog.csdnimg.cn/3d9e3a914efd4905966a45783d3be689.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
但是在实际开发过程中,一开始的时候界面中会有系统是自带Dialog以及帮助、关闭按钮的,这些要怎么去除呢?![在这里插入图片描述](https://img-blog.csdnimg.cn/1ce187bdaecb441fb731629f0efabad6.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
其实很简单,主要是要加一句代码:
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
但关键是加在哪里很多人不知道,那么下面就跟着小编一步一步的去解决这个问题吧。
首先我们从第一步开始,顺带复习一下这个问题是怎么产生的。
第一步:创建主界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/9031e4b7480c4bad8c627911afd6c1ff.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/ee12c9dd2daf4d908f19e7f0d80f6acf.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/77570bf2e1fb43febf0a907f648c94ae.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f4c12d0cbc26467b842d0bb6cb3c12a8.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8c974f85ceac4c0387d85e3e8d32eb35.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
第二步:创建登录界面
一般来说,我们设计软件,都会创建登录注册界面,这时候就需要我们再创建一个设计师界面,操作如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/34aacd24dc1b45738de4afdbe0478035.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dee401069e9b4eefb46c0b829c0017dd.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f10189f1423a43ad9bf6b2c3ee49b4c8.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/1e215a3f55424430a27cb6ca2272536f.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
最关键的一步,在login.cpp中加入
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
![在这里插入图片描述](https://img-blog.csdnimg.cn/cdffc9d96dd44e09ac8901b141caa3fe.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
这时候,我们在运行程序,就会发现边框没了。![在这里插入图片描述](https://img-blog.csdnimg.cn/59cefee174d04edd848f98617a8c5806.PNG?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5qGC6Iqx5bm057OV5LuU,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
如果想自己DIY最小化、最大化、关闭等选项,那就需要自己在login.ui界面加东西了。
补充,去掉Dialog对话框只是为了更美观,但是如果去掉了Dialog对话框,就不能拖动当前窗口了,需要加入另外一种操作,用于拖动当前窗口,我的下一篇博客有相关说明,感兴趣的小伙伴可以点击下方的链接继续观看。
QT制作软件—窗口跟随鼠标进行移动
最后,觉得本文内容对你有所帮助的话,感谢点赞收藏!