Найти - Пользователи
Полная версия: PyQt Окно без рамки с возможностью его перемещения.
Начало » GUI » PyQt Окно без рамки с возможностью его перемещения.
1
Guljaca
Я хочу убрать рамку и заголовок окна, но иметь возможность перетаскивать это окно курсором.
В примере ниже, положение окна изменить нельзя.

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_())

Как получить размер окна без рамки и размеры самой рамки?
picaro
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)
degid
Почему это не работает с 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_())
degid
Сделал через наследование как тут
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB