总结Pyqt的基础知识
1. Pyqt 设置禁止最大化及禁止拖拽窗口大小
1 #PyQT禁止窗口最大化按钮:
2 self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)3 #PyQT禁止调整窗口大小:
4 self.setFixedSize(self.width(), self.height())
2. 当按下Esc退出
重载keyPressEvent
1 defkeyPressEvent(self, event):2 if event.key() ==QtCore.Qt.Key_Escape:3 self.close()
3.去掉标题栏
1 self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
self.setWindowFlags(Qt.CustomizeWindowHint) #有透明边框
4.触发信号槽
内部方法 triggered() clicked()
执行: quit()
1 QtGui.QWidget.connect(self.ui_qr.pushButtonOk, QtCore.SIGNAL('clicked()'), self.generateQr)2 self.ui_qr.pushButtonOk.clicked.connect(self.generateQr)
5.弹框消息
消息类型: information , warning , question , about
1 OK = QtGui.QMessageBox.question(self, (u'提示'),(u'滚动轴点击'),QtGui.QMessageBox.Yes , QtGui.QMessageBox.No)
6.支持窗口拖动
重载鼠标事件方法
1 defmousePressEvent(self, event):2 if event.button()==Qt.LeftButton:3 self.m_drag=True4 self.m_DragPosition=event.globalPos()-self.pos()5 event.accept()6
7 defmouseMoveEvent(self, QMouseEvent):8 if QMouseEvent.buttons() andQt.LeftButton:9 self.move(QMouseEvent.globalPos()-self.m_DragPosition)10 QMouseEvent.accept()11
12 defmouseReleaseEvent(self, QMouseEvent):13 self.m_drag=False
7.设置全局编码
1 #-*- coding: utf-8 -*-
2
3 reload(sys)4 sys.setdefaultencoding("utf-8")
8.设置标题、Icon
1 label.setPixmap(QtGui.QPixmap(filename))
3 self.setWindowTitle('Pyqt ComboBox')4 self.setWindowIcon(QtGui.QIcon('../Document/images/QQ.png'))
9.设置button lineEdit 等字体
1 self.lineEdit.setFont(QFont("SimSun", 18, QFont.Bold)) # 宋体 , 18号字体, 粗体
10.退出后,后台继续保持进程
1 app.setQuitOnLastWindowClosed(True) #true 关闭, false 开启后台
11.显示在最前端
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
12.窗体透明度
self.setWindowOpacity(0.5) #1表示100%显示, 0.5 透明度50%
13.只显示关闭按钮
self.setWindowFlags(Qt.CustomizeWindowHint| Qt.WindowCloseButtonHint )