欢迎来到天天文库
浏览记录
ID:16320937
大小:88.52 KB
页数:5页
时间:2018-08-09
《pyqt之自定义无边框窗口遮盖任务栏显示问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PyQt之自定义无边框窗口遮盖任务栏显示问题引子:随着腾讯QQ、奇虎360等公司开放相关应用平台,通过"抢占"用户桌面的WEB桌面越来越多的被采用!问题:用PyQT来模仿实现WEB桌面的问题之一,便是设置无边框窗口时遮盖任务栏的问题。解决方案:1.设置窗口标记,实现无边框效果1#设置窗口标记(无边框)2self.setWindowFlags(QtCore.Qt.FramelessWindowHint)2.覆盖实现最大化函数 2.1.得到屏幕可显示尺寸,需要用到QDeskWidget类的availableGeometry函数1#得
2、到桌面控件2desktop=QtGui.QApplication.desktop()3#得到屏幕可显示尺寸4rect=desktop.availableGeometry() 2.2.设置窗口尺寸为屏幕可显示尺寸并显示1#设置窗口尺寸2self.setGeometry(rect)3#设置窗口显示4self.show()3.实现效果 4.示例程序1#coding=gbk23#导入模块4importsys5fromPyQt4importQtGui,QtCore6#####################################
3、####自定义窗口类########################################7classMyWindow(QtGui.QMainWindow):8'''自定义窗口类'''9######################################构造、析构函数###################################10def__init__(self,parent=None):11'''构造函数'''12#调用父类构造函数13super(MyWindow,self).__init__(par
4、ent)14#设置窗口标记(无边框
5、任务栏右键菜单)15self.setWindowFlags(QtCore.Qt.FramelessWindowHint
6、QtCore.Qt.WindowSystemMenuHint)16#便于显示,设置窗口背景颜色(采用QSS)17self.setStyleSheet('''background-color:cyan;''')18#######################################覆盖函数#######################################19
7、defshowMaximized(self):20'''最大化'''21#得到桌面控件22desktop=QtGui.QApplication.desktop()23#得到屏幕可显示尺寸24rect=desktop.availableGeometry()25#设置窗口尺寸26self.setGeometry(rect)27#设置窗口显示28self.show()2930###########################################主函数####################################
8、#####31if__name__=="__main__":32'''主函数'''33#声明变量34app=QtGui.QApplication(sys.argv)35#创建窗口36window=MyWindow()37#调用最大化显示38window.showMaximized()39#应用程序事件循环40sys.exit(app.exec_())
此文档下载收益归作者所有