Убрать рамки приложения
Вот код, сможешь изменить его? я просто только начал и сам не понимаю куда это внедрять?
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'guiv2.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(250, 280)
MainWindow.setMinimumSize(QtCore.QSize(250, 280))
MainWindow.setMaximumSize(QtCore.QSize(250, 280))
MainWindow.setStyleSheet("font: 8pt \"Arial\";")
MainWindow.setAnimated(False)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setStyleSheet("#centralwidget {\n"
" background-color: rgb(39, 39, 39);\n"
"}")
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(68, 13, 45, 13))
self.label.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.label.setObjectName("label")
self.work = QtWidgets.QLabel(self.centralwidget)
self.work.setGeometry(QtCore.QRect(115, 13, 65, 13))
self.work.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"color: rgb(85, 255, 0);")
self.work.setObjectName("work")
self.start = QtWidgets.QPushButton(self.centralwidget)
self.start.setGeometry(QtCore.QRect(74, 240, 103, 31))
self.start.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
self.start.setObjectName("start")
self.progress = QtWidgets.QProgressBar(self.centralwidget)
self.progress.setGeometry(QtCore.QRect(75, 37, 126, 13))
self.progress.setStyleSheet("QProgressBar::chunk "
"{"
"background-color: rgb(0, 170, 255);"
"color: rgb(0, 170, 255);"
"}")
self.progress.setTextVisible(False)
self.progress.setProperty("value", 24)
self.progress.setObjectName("progress")
self.base_addr = QtWidgets.QLineEdit(self.centralwidget)
self.base_addr.setGeometry(QtCore.QRect(20, 60, 111, 21))
self.base_addr.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.base_addr.setObjectName("base_addr")
self.base = QtWidgets.QPushButton(self.centralwidget)
self.base.setGeometry(QtCore.QRect(139, 60, 93, 21))
self.base.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
self.base.setObjectName("base")
self.save_addr = QtWidgets.QLineEdit(self.centralwidget)
self.save_addr.setGeometry(QtCore.QRect(20, 100, 111, 21))
self.save_addr.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.save_addr.setObjectName("save_addr")
self.save = QtWidgets.QPushButton(self.centralwidget)
self.save.setGeometry(QtCore.QRect(139, 100, 93, 21))
self.save.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
self.save.setObjectName("save")
self.proxy_use = QtWidgets.QCheckBox(self.centralwidget)
self.proxy_use.setGeometry(QtCore.QRect(50, 132, 170, 17))
self.proxy_use.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.proxy_use.setObjectName("proxy_use")
self.proxy_addr = QtWidgets.QLineEdit(self.centralwidget)
self.proxy_addr.setGeometry(QtCore.QRect(20, 159, 111, 21))
self.proxy_addr.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.proxy_addr.setObjectName("proxy_addr")
self.proxy = QtWidgets.QPushButton(self.centralwidget)
self.proxy.setGeometry(QtCore.QRect(139, 158, 93, 23))
self.proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
self.proxy.setObjectName("proxy")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(76, 200, 70, 21))
self.label_2.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 87 8pt \"Arial Black\";")
self.label_2.setObjectName("label_2")
self.potok = QtWidgets.QSpinBox(self.centralwidget)
self.potok.setGeometry(QtCore.QRect(131, 200, 42, 22))
self.potok.setStyleSheet("font: 87 8pt \"Arial\";")
self.potok.setMinimum(1)
self.potok.setMaximum(100)
self.potok.setObjectName("potok")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "Статус:"))
self.work.setText(_translate("MainWindow", "Работает"))
self.start.setText(_translate("MainWindow", "Начать"))
self.base.setText(_translate("MainWindow", "Выбрать"))
self.save.setText(_translate("MainWindow", "Сохранить"))
self.proxy_use.setText(_translate("MainWindow", "Использовать прокси"))
self.proxy.setText(_translate("MainWindow", "Выбрать"))
self.label_2.setText(_translate("MainWindow", "Потоков:"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Чтобы убрать рамку достаточно вызвать: self.setWindowFlags(Qt.FramelessWindowHint). Это скажет операционной системе, что рамку не нужно показывать для окна, но это лишит возможности перемещать окно
Действия:
- Сохранил код из вопрос в
MainWindow_ui.py - Взял мой пример окна без рамки и с возможность перемещать окно мышкой
- Немного подправил и добавил форму из
MainWindow_ui
Код:
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.QtCore import Qt
from MainWindow_ui import Ui_MainWindow
class Widget(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self._old_pos = None
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self._old_pos = event.pos()
def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self._old_pos = None
def mouseMoveEvent(self, event):
if not self._old_pos:
return
delta = event.pos() - self._old_pos
self.move(self.pos() + delta)
if __name__ == '__main__':
app = QApplication([])
w = Widget()
w.resize(400, 400)
w.show()
app.exec()
Выглядит так:
