Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt Окно без рамки с возможностью его перемещения. [RSS Feed]

#1 Ноя. 17, 2012 20:22:42

Guljaca
От:
Зарегистрирован: 2011-07-11
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt Окно без рамки с возможностью его перемещения.

Я хочу убрать рамку и заголовок окна, но иметь возможность перетаскивать это окно курсором.
В примере ниже, положение окна изменить нельзя.

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

Как получить размер окна без рамки и размеры самой рамки?



Офлайн

#2 Янв. 9, 2013 15:37:22

picaro
Зарегистрирован: 2013-01-09
Сообщения: 1
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt Окно без рамки с возможностью его перемещения.

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)

Офлайн

#3 Янв. 10, 2016 07:01:57

degid
От: Ясиноватая
Зарегистрирован: 2012-12-04
Сообщения: 49
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt Окно без рамки с возможностью его перемещения.

Почему это не работает с 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_())



Офлайн

#4 Янв. 10, 2016 08:15:36

degid
От: Ясиноватая
Зарегистрирован: 2012-12-04
Сообщения: 49
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt Окно без рамки с возможностью его перемещения.

Сделал через наследование как тут



Офлайн

  • Начало
  • » GUI
  • » PyQt Окно без рамки с возможностью его перемещения.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version