Qt的工具栏在多个界面使用 1、前言 2、创建一个工具栏类 3、提升工具栏类 4、总结
1、前言
今天遇到了个问题,顶部的工具栏,像软键盘,时间显示和退出按钮那些,想在多个界面使用,如果每个界面都新建一个会很麻烦,原本想着把主界面覆盖掉登录界面,只留顶部工具栏那部分,后来发现覆盖掉后,登录界面的工具栏也无法使用,记录一下Qt的工具栏在多个界面使用的实现方法,方便自己会顾,也可以给有需要的人提供帮助。
2、创建一个工具栏类
2.1 新建一个工具栏类
this -> setWindowFlag ( Qt:: FramelessWindowHint) ;
3、提升工具栏类
3.1登录界面添加工具栏
勾选全局包含,然后输入提升类的名称,接着选择添加,然后点击提升
3.2 创建工具栏对象
toolBar * uptoolBar; if ( ! uptoolBar) { uptoolBar = new toolBar ( this ) ; }
因为这个工具栏是登录界面的子控件,你登录界面关闭后,它并没有销毁,所有也会在主界面显示,就不需要在主界面创建了,,你也可以选择在登录界面销毁掉这个工具栏,然后再在主界面创建一个,如果使用的是同个工具栏就没有必要销毁再创建,如果不同的工具栏就销毁再创建。
this -> close ( ) ;
mainInterface * mainui = new mainInterface ( nullptr ) ;
mainui-> setGeometry ( this -> x ( ) , this -> y ( ) - 10 , this -> width ( ) , this -> height ( ) ) ; mainui-> show ( ) ;
可以看到从登录界面进入到主界面后,工具栏还是显示在顶部的
4、总结
以上就是实现鼠标拖动窗口的整个过程了,浏览过程中,如若发现错误,欢迎大家指正,有问题的可以评论区留言或者私信。最后,如果大家觉得有所帮助的话,可以点个赞,谢谢大家!祝大家平安无疾,皆得所愿!