1、界面拖动代码
python
# 拖动
def mousePressEvent(self, event):
if event.button() == QtCore.Qt.LeftButton and self.isMaximized() == False:
self.m_flag = True
self.m_Position = event.globalPos() - self.pos() # 获取鼠标相对窗口的位置
event.accept()
self.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor)) # 更改鼠标图标
def mouseMoveEvent(self, mouse_event):
if QtCore.Qt.LeftButton and self.m_flag:
self.move(mouse_event.globalPos() - self.m_Position) # 更改窗口位置
mouse_event.accept()
def mouseReleaseEvent(self, mouse_event):
self.m_flag = False
self.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
2、获取显示器分辨率
python
#获取显示器分辨率
self.desktop = QApplication.desktop()
self.screenRect = self.desktop.screenGeometry()
self.screenheight = self.screenRect.height()
self.screenwidth = self.screenRect.width()
3、pyqt界面随界面大小变化图标
python
# 变换最大化按钮图标
def resize_win(self):
if self.isFullScreen():
self.showNormal()
self.ui.pushButton_maxsize.setIcon(QtGui.QIcon(u":/icon/icon/全屏黑.png"))
Width_value = self.ui.label_show_camera.height()
self.Width_fy = Width_value / 720
else:
self.showFullScreen()
self.ui.pushButton_maxsize.setIcon(QtGui.QIcon(u":/icon/icon/最小化黑.png"))
Width_value = self.ui.label_show_camera.height()
self.Width_fy = Width_value / 720
4、侧边栏随动代码
python
# 设置侧边伸缩菜单
def slideLeftMenu(self):
width = self.ui.frame.width()
if width == 46:
newWidth = 130
self.ui.pushButton.setIcon(QIcon(":/icons/icon/双左_double-left.png"))
else:
newWidth = 46
self.ui.pushButton.setIcon(QIcon(":/icons/icon/双右_double-right.png"))
animation = QPropertyAnimation(self.ui.frame, b"minimumWidth", self)
animation.setStartValue(width)
animation.setEndValue(newWidth)
animation.setDuration(200)
animation.start()
5、设置保存,加载上次保存设置
python
# 加载上次登录信息
def read_config_info(self):
settings = QSettings("config.ini", QSettings.IniFormat) # 方法1:使用配置文件
# self.ui.lineEdit_list_fxdpath.setText(settings.value("page_list/filename_fxd")) # 包装程序时记得注释此行
self.ui.lineEdit_list_xhdpath.setText(settings.value("page_list/filename_xhd"))
self.ui.lineEdit_list_bgpath.setText(settings.value("page_list/foldername_bg"))
self.ui.lineEdit_list_qzr.setText(settings.value("page_list/qzrname"))
# 保存上次登录设置信息
def save_config_info(self):
settings = QSettings("config.ini", QSettings.IniFormat) # 方法1:使用配置文件
# settings = QSettings("mysoft","myapp") #方法2:使用注册表
# settings.setValue("page_list/filename_fxd", self.ui.lineEdit_list_fxdpath.text()) # 包装程序时记得注释此行
settings.setValue("page_list/filename_xhd", self.ui.lineEdit_list_xhdpath.text())
settings.setValue("page_list/foldername_bg", self.ui.lineEdit_list_bgpath.text())
settings.setValue("page_list/qzrname", self.ui.lineEdit_list_qzr.text())