Форум сайта python.su
Я хочу убрать рамку и заголовок окна, но иметь возможность перетаскивать это окно курсором.
В примере ниже, положение окна изменить нельзя.
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys
app = QApplication(sys.argv)
class Window(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setWindowFlags(Qt.FramelessWindowHint)
self.resize(300,300)
if __name__ == '__main__':
w = Window()
w.show()
sys.exit(app.exec_())
Офлайн
def mousePressEvent(self, event): self.offset = event.pos() def mouseMoveEvent(self, event): x=event.globalX() y=event.globalY() x_w = self.offset.x() y_w = self.offset.y() self.move(x-x_w, y-y_w)
Офлайн
Почему это не работает с QMainWindow?
from PyQt4 import QtCore, QtGui, uic import sys class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QWidget.__init__(self) self.training = uic.loadUi("include/training.ui") self.training.setWindowFlags(QtCore.Qt.FramelessWindowHint) self.training.setFixedSize(680, 154) self.training.show() def mousePressEvent(self, event): self.offset = event.pos() print event.pos() def mouseMoveEvent(self, event): x=event.globalX() y=event.globalY() x_w = self.offset.x() y_w = self.offset.y() self.move(x-x_w, y-y_w) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) win = MainWindow() sys.exit(app.exec_())
Офлайн
Сделал через наследование как тут
Офлайн