2
프레임리스 창에 테두리를 설정하는 예제가 있지만 드래그 할 수 없습니다. 틀없는 창을 드래그 가능하게 만들려면 어떻게해야합니까? 특히 내가 예를 볼 수 있다면 그것은 굉장 할 것이다. 다음은 예제 코드입니다 (일반적으로 코드가 더 길기 때문에 많은 라이브러리가 있어도 상관 없습니다).PyQt5 draggable frameless window
from PyQt5.QtWidgets import (QMessageBox,QApplication, QWidget, QToolTip, QPushButton,
QDesktopWidget, QMainWindow, QAction, qApp, QToolBar, QVBoxLayout,
QComboBox,QLabel,QLineEdit,QGridLayout,QMenuBar,QMenu,QStatusBar,
QTextEdit,QDialog,QFrame,QProgressBar
)
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtGui import QIcon,QFont,QPixmap,QPalette
from PyQt5.QtCore import QCoreApplication, Qt,QBasicTimer
import sys
class cssden(QMainWindow):
def __init__(self):
super().__init__()
self.mwidget = QMainWindow(self)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
#size
self.setFixedSize(320, 450)
self.center
#label
self.lbl = QLabel(self)
self.lbl.setText("test")
self.lbl.setStyleSheet("background-color: rgb(0,0,0);"
"border: 1px solid red;"
"color: rgb(255,255,255);"
"font: bold italic 20pt 'Times New Roman';")
self.lbl.setGeometry(5,5,60,40)
self.show()
#center
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
app = QApplication(sys.argv)
app.setStyleSheet("QMainWindow{background-color: darkgray;border: 1px solid black}")
ex = cssden()
sys.exit(app.exec_())
큰 작동합니다. 마우스를 가리 키는 것과 같은 마우스 이벤트에 대한 예제가 있습니까? C++ 예제 만 있고 파이썬으로 변환하는 데 어려움이 있습니다. – GLHF
예, 많은 파이썬 예제가 없습니다. 가장 좋은 방법은 Qt C++ 코드를 파이썬으로 변환하는 방법을 이해하는 것입니다. 처음에는 그렇게 복잡하지 않습니다. –
여기에 관련된 [코드 예] (https://gist.github.com/zed/77e705caa840bab117057952f9ca6191) – jfs