pencerenin herhangi bir noktasından tıklanıp mouse hareket ettirildiğinde pencerenin hareket etmesini istiyorum mevcut tittle barını kaldırdım değişik bir ui yapmak istedim nasıl yapabilceğim konsunda yardımcı olabilirseniz sevinirim iyi forumlar
######################### QT LIB #########################
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
######################### #########################
import time
import base64
from github import Github
import sys
import os
class Ui_passalert(QMainWindow):
def uyarikapat(self):
self.deneme19.close()
def setupUi(self, passalert):
self.deneme19 = passalert
passalert.setWindowFlag(Qt.FramelessWindowHint)
passalert.setObjectName("passalert")
passalert.resize(250, 170)
passalert.setMinimumSize(QtCore.QSize(250, 170))
passalert.setMaximumSize(QtCore.QSize(250, 170))
self.centralwidget = QtWidgets.QWidget(passalert)
self.centralwidget.setObjectName("centralwidget")
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setGeometry(QtCore.QRect(10, 10, 231, 151))
self.line.setStyleSheet(" border-width: 2px;\n"
" border-color: rgb(170, 0, 0);\n"
" border-style: inset;")
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.passkapat = QtWidgets.QRadioButton(self.centralwidget)
self.passkapat.setGeometry(QtCore.QRect(220, 20, 16, 17))
self.passkapat.setStyleSheet("QRadioButton::indicator:checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}\n"
"\n"
"QRadioButton::indicator:!checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}")
self.passkapat.setText("")
self.passkapat.setObjectName("passkapat")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 50, 191, 51))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 80, 21, 71))
font = QtGui.QFont()
font.setPointSize(50)
self.label_2.setFont(font)
self.label_2.setStyleSheet("")
self.label_2.setObjectName("label_2")
passalert.setCentralWidget(self.centralwidget)
self.passkapat.clicked.connect(self.uyarikapat)
self.retranslateUi(passalert)
QtCore.QMetaObject.connectSlotsByName(passalert)
def retranslateUi(self, passalert):
_translate = QtCore.QCoreApplication.translate
passalert.setWindowTitle(_translate("passalert", "MainWindow"))
self.label.setText(_translate("passalert", "<html><head/><body><p><span style=\" color:#ff0000;\">Beklenmedik </span> Bir <span style=\" color:#ff0000;\">HATA</span> Meydana Geldi</p></body></html>"))
self.label_2.setText(_translate("passalert", "<html><head/><body><p><span style=\" color:#aa0000;\">!</span></p></body></html>"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
passalert = QtWidgets.QMainWindow()
ui = Ui_passalert()
ui.setupUi(passalert)
passalert.show()
sys.exit(app.exec_())
def mousePressEvent(self, event):
if event.button() == QtCore.Qt.LeftButton:
self.offset = event.pos()
else:
super().mousePressEvent(event)
def mouseMoveEvent(self, event):
if self.offset is not None and event.buttons() == QtCore.Qt.LeftButton:
self.move(self.pos() + event.pos() - self.offset)
else:
super().mouseMoveEvent(event)
def mouseReleaseEvent(self, event):
self.offset = None
super().mouseReleaseEvent(event)
Kodlarına bunları eklemen yeterli
bende buna benzer birşey eklemiştim fakat çalışmamıştı hocam bunuda ekleyince çalışmadı acaba siz denedinizmi hocam koda uyarlayıp test ettinizmi
AngaraliJoo:
######################### QT LIB #########################
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
######################### #########################
import time
import base64
from github import Github
import sys
import os
class Ui_passalert(QMainWindow):
def uyarikapat(self):
self.deneme19.close()
def setupUi(self, passalert):
self.deneme19 = passalert
passalert.setWindowFlag(Qt.FramelessWindowHint)
passalert.setObjectName("passalert")
passalert.resize(250, 170)
passalert.setMinimumSize(QtCore.QSize(250, 170))
passalert.setMaximumSize(QtCore.QSize(250, 170))
self.centralwidget = QtWidgets.QWidget(passalert)
self.centralwidget.setObjectName("centralwidget")
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setGeometry(QtCore.QRect(10, 10, 231, 151))
self.line.setStyleSheet(" border-width: 2px;\n"
" border-color: rgb(170, 0, 0);\n"
" border-style: inset;")
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.passkapat = QtWidgets.QRadioButton(self.centralwidget)
self.passkapat.setGeometry(QtCore.QRect(220, 20, 16, 17))
self.passkapat.setStyleSheet("QRadioButton::indicator:checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}\n"
"\n"
"QRadioButton::indicator:!checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}")
self.passkapat.setText("")
self.passkapat.setObjectName("passkapat")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 50, 191, 51))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 80, 21, 71))
font = QtGui.QFont()
font.setPointSize(50)
self.label_2.setFont(font)
self.label_2.setStyleSheet("")
self.label_2.setObjectName("label_2")
passalert.setCentralWidget(self.centralwidget)
self.passkapat.clicked.connect(self.uyarikapat)
self.retranslateUi(passalert)
QtCore.QMetaObject.connectSlotsByName(passalert)
def retranslateUi(self, passalert):
_translate = QtCore.QCoreApplication.translate
passalert.setWindowTitle(_translate("passalert", "MainWindow"))
self.label.setText(_translate("passalert", "<html><head/><body><p><span style=\" color:#ff0000;\">Beklenmedik </span> Bir <span style=\" color:#ff0000;\">HATA</span> Meydana Geldi</p></body></html>"))
self.label_2.setText(_translate("passalert", "<html><head/><body><p><span style=\" color:#aa0000;\">!</span></p></body></html>"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
passalert = QtWidgets.QMainWindow()
ui = Ui_passalert()
ui.setupUi(passalert)
passalert.show()
sys.exit(app.exec_())
Evet, sürekli kullanıyorum fakat sizin kodunuzda çalışmadı. Standart düzenin dışında bir yapı kurmuşsunuz. O yüzden açıkçası size yardımcı olamıyorum, kodunuzun yeniden düzenlemesi gerek. Ayrıca basit bir uyarı penceresi için QMainWindow yerine QDialog gibi bir widget kullanmak daha işlevsel olacaktır diye düşünüyorum.
sizin kurduğunuz yapıya bakabilirmiyim ben kendim ekstra birşey yazmadım QT ile tasarımı yapıp py ye çevirdim bu standart olmuyormu tam olarak QMain olmasına takılmayın hocam sadece örnek lazımdı bana o yüzden bunu attım ama kullandığım yapı bu
Bu link üzerindeki ders içeriklerini kontrol etmelisin. (pdf) Temel widgetler basit bir şekilde örneklendirilmiş, temelini oluşturmak için gayet yararlı bir içerik diye düşünüyorum
Ozay11
Ekim 25, 2022, 4:22öö
7
Ben yapmıştım bunu
Akşamı beklersen kodları atarım
inceliycem teşekkürler hocam
bende işten 6 da çıkıyorum teşekkürler hocam
from PyQt5.QtWidgets import QDialog, QLabel, QPushButton, QApplication,QFrame, QVBoxLayout
from PyQt5.QtCore import Qt
from PyQt5 import QtCore
import sys
class DialogPenceresi(QDialog):
def __init__(self):
super(). __init__()
self.setWindowFlag(Qt.FramelessWindowHint) # pencereyi başlıksız yapma
self.setAttribute(Qt.WA_TranslucentBackground, True) # seffaf pencere
self.setFixedSize(260,200) #pencere boyutu
self.setStyleSheet("background-color: none;")
self.frame = QFrame(self)
self.frame.setFixedSize(260, 200)
self.frame.setStyleSheet("""QFrame{
background: rgba( 200, 200, 200, 1 );
border-radius: 10px;
border: 1px solid rgba( 255, 255, 255, 0.18 );
}""")
self.katman = QVBoxLayout(self.frame)
self.katman.setContentsMargins(20,35,20,20) # sol üst sağ alt boşluk
self.label = QLabel(self)
self.label.setStyleSheet("color: red; border: none;")
self.label.setText(""" Bu bir uyarı penceresidir """)
self.buton = QPushButton()
self.buton.setText("Kapat")
self.buton.setFixedSize(80, 25)
self.buton.setStyleSheet("""background-color: rgb(250, 250, 250);
border-radius: 10px;
}
""")
self.katman.addWidget(self.label)
self.katman.addStretch()
self.katman.addWidget(self.buton)
self.show()
self.buton.clicked.connect(self.dialogClose)
def dialogClose(self):
self.close()
## Başlıksız pencerei hareket ettirme
def mousePressEvent(self, event):
try:
if event.button() == QtCore.Qt.LeftButton:
self.offset = event.pos()
else:
super().mousePressEvent(event)
except:
pass
def mouseMoveEvent(self, event):
try:
if self.offset is not None and event.buttons() == QtCore.Qt.LeftButton:
self.move(self.pos() + event.pos() - self.offset)
else:
super().mouseMoveEvent(event)
except:
pass
def mouseReleaseEvent(self, event):
try:
self.offset = None
super().mouseReleaseEvent(event)
except:
pass
if __name__ == "__main__":
app = QApplication(sys.argv)
uygulama = DialogPenceresi()
sys.exit(uygulama.exec_())
Senin için taşınabilir örnek bir pencere oluşturdum.
teşekkürler , elinize sağlık ama örneği kendi projeme ekliyemedim
######################## QT LIB #########################
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
######################### #########################
import time
import base64
from github import Github
import sys
import os
class Ui_passalert( QtWidgets.QMainWindow ): #*****
def __init__(self): #*****
super().__init__() #*****
self.setupUi() #*****
def uyarikapat(self):
self.close()
def setupUi(self):
self.setWindowFlag(Qt.FramelessWindowHint)
self.setObjectName("passalert")
self.resize(250, 170)
self.setMinimumSize(QtCore.QSize(250, 170))
self.setMaximumSize(QtCore.QSize(250, 170))
self.centralwidget = QtWidgets.QWidget() # PASS YAZMIYRCAK BURDA
self.centralwidget.setObjectName("centralwidget")
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setGeometry(QtCore.QRect(10, 10, 231, 151))
self.line.setStyleSheet(" border-width: 2px;\n"
" border-color: rgb(170, 0, 0);\n"
" border-style: inset;")
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.passkapat = QtWidgets.QRadioButton(self.centralwidget)
self.passkapat.setGeometry(QtCore.QRect(220, 20, 16, 17))
self.passkapat.setStyleSheet("QRadioButton::indicator:checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}\n"
"\n"
"QRadioButton::indicator:!checked {\n"
" height: 10px;\n"
" width: 10px;\n"
" border-style:solid;\n"
" border-radius:5px;\n"
" border-width: 1px;\n"
" border-color: rgb(208, 0, 0);\n"
" color: rgb(208, 0, 0);\n"
" background-color: rgb(208, 0, 0);\n"
"}")
self.passkapat.setText("")
self.passkapat.setObjectName("passkapat")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 50, 191, 51))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 80, 21, 71))
font = QtGui.QFont()
font.setPointSize(50)
self.label_2.setFont(font)
self.label_2.setStyleSheet("")
self.label_2.setObjectName("label_2")
self.setCentralWidget(self.centralwidget) #PASS YERİNE SELF YAZICAZ
self.passkapat.clicked.connect(self.uyarikapat)
self.retranslateUi() #******
QtCore.QMetaObject.connectSlotsByName(self) #******
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.setWindowTitle(_translate("passalert", "MainWindow")) #*****
self.label.setText(_translate("passalert",
"<html><head/><body><p><span style=\" color:#ff0000;\">Beklenmedik </span> Bir <span style=\" color:#ff0000;\">HATA</span> Meydana Geldi</p></body></html>"))
self.label_2.setText(
_translate("passalert", "<html><head/><body><p><span style=\" color:#aa0000;\">!</span></p></body></html>"))
def mousePressEvent(self, event):
self.oldPos = event.globalPos()
def mouseMoveEvent(self, event):
delta = QPoint(event.globalPos() - self.oldPos)
self.move(self.x() + delta.x(), self.y() + delta.y())
self.oldPos = event.globalPos()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = Ui_passalert()
ui.show()
sys.exit(app.exec_())