Python şeffaf form nasıl hareket ettirilir?

Scitians

Decapat
Katılım
22 Ekim 2021
Mesajlar
112
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar esenlikler, Python qt5 ile bir arayüz yaptım. Form şeffat üzerindeki frame gözüküyor sadece. Buraya dek istediğim gibi fakat formu hareket ettiremiyorum. Daha önce GitHub üstünde yazdığım bir programı GUI haline çevirmek istedim. Nasıl hareket ettirebilirim ve nereye eklemem gerek?


Python:
#UI KODLARIM

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file '.\ui.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# 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
from PyQt5.QtCore import QPoint


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(500, 700)
        MainWindow.setMinimumSize(QtCore.QSize(500, 700))
        MainWindow.setMaximumSize(QtCore.QSize(500, 700))
        MainWindow.setStyleSheet("")
        MainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        MainWindow.setAttribute(QtCore.Qt.WA_TranslucentBackground)
        MainWindow.setStyleSheet("background:transparent;")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(20, 20, 461, 651))
        self.frame.setStyleSheet("QFrame{\n"
"background-color:#000000;\n"
"border-top-left-radius: 200px;\n"
"border-bottom-right-radius: 200px;\n"
"border-top-right-radius: 0px;\n"
"border-bottom-left-radius: 0px;\n"
"}\n"
"\n"
"QFrame::hover{\n"
"border-top-left-radius: 0px;\n"
"border-bottom-right-radius: 0px;\n"
"border-top-right-radius: 200px;\n"
"border-bottom-left-radius: 200px;\n"
"\n"
"}")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.btn_Exit = QtWidgets.QPushButton(self.frame)
        self.btn_Exit.setGeometry(QtCore.QRect(120, 520, 221, 21))
        self.btn_Exit.setStyleSheet("QPushButton{\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: rgb(255, 0, 0);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: rgb(0, 0, 0);\n"
"    color: rgb(255, 255, 255);\n"
"    \n"
"}\n"
"\n"
"")
        self.btn_Exit.setObjectName("btn_Exit")
        self.lbl_DorkScanner = QtWidgets.QLabel(self.frame)
        self.lbl_DorkScanner.setGeometry(QtCore.QRect(80, 120, 311, 51))
        self.lbl_DorkScanner.setStyleSheet("QLabel{\n"
"color: rgb(255, 0, 0);\n"
"    font: 75 24pt \"Cambria\";\n"
"\n"
"}\n"
"QLabel::hover{\n"
"color:#ffffff;\n"
"}")
        self.lbl_DorkScanner.setObjectName("lbl_DorkScanner")
        self.btn_Github = QtWidgets.QPushButton(self.frame)
        self.btn_Github.setGeometry(QtCore.QRect(190, 560, 81, 41))
        self.btn_Github.setStyleSheet("QPushButton{\n"
"\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: rgb(255, 0, 0);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: #fff;\n"
"    color:#fff;\n"
"    \n"
"}\n"
"\n"
"")
        self.btn_Github.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/GitHub/GitHub_Logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_Github.setIcon(icon)
        self.btn_Github.setIconSize(QtCore.QSize(68, 68))
        self.btn_Github.setObjectName("btn_Github")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.frame)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(100, 289, 121, 51))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label_3 = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.label_3.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 75 12pt \"Cambria\";")
        self.label_3.setObjectName("label_3")
        self.verticalLayout.addWidget(self.label_3)
        self.cmb_Dork = QtWidgets.QComboBox(self.verticalLayoutWidget)
        self.cmb_Dork.setStyleSheet("QComboBox{\n"
"    background-color: rgb(255, 255, 255);\n"
"border-radius: 10px;\n"
"}\n"
"QComboBox::hover{\n"
"background-color: rgb(255, 0, 0);\n"
"border-radius: 10px;\n"
"}")
        self.cmb_Dork.setObjectName("cmb_Dork")
        self.verticalLayout.addWidget(self.cmb_Dork)
        self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.frame)
        self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(240, 289, 121, 51))
        self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label_4 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        self.label_4.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 75 12pt \"Cambria\";")
        self.label_4.setObjectName("label_4")
        self.verticalLayout_2.addWidget(self.label_4)
        self.cmb_DorkLang = QtWidgets.QComboBox(self.verticalLayoutWidget_2)
        self.cmb_DorkLang.setStyleSheet("QComboBox{\n"
"    background-color: rgb(255, 255, 255);\n"
"border-radius: 10px;\n"
"}\n"
"QComboBox::hover{\n"
"background-color: rgb(255, 0, 0);\n"
"border-radius: 10px;\n"
"}")
        self.cmb_DorkLang.setObjectName("cmb_DorkLang")
        self.verticalLayout_2.addWidget(self.cmb_DorkLang)
        self.verticalLayoutWidget_3 = QtWidgets.QWidget(self.frame)
        self.verticalLayoutWidget_3.setGeometry(QtCore.QRect(100, 370, 261, 51))
        self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_3)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.label_5 = QtWidgets.QLabel(self.verticalLayoutWidget_3)
        self.label_5.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 75 12pt \"Cambria\";")
        self.label_5.setObjectName("label_5")
        self.verticalLayout_3.addWidget(self.label_5)
        self.cmd_Number = QtWidgets.QComboBox(self.verticalLayoutWidget_3)
        self.cmd_Number.setStyleSheet("QComboBox{\n"
"    background-color: rgb(255, 255, 255);\n"
"border-radius: 10px;\n"
"}\n"
"QComboBox::hover{\n"
"background-color: rgb(255, 0, 0);\n"
"border-radius: 10px;\n"
"}")
        self.cmd_Number.setObjectName("cmd_Number")
        self.verticalLayout_3.addWidget(self.cmd_Number)
        self.verticalLayoutWidget_4 = QtWidgets.QWidget(self.frame)
        self.verticalLayoutWidget_4.setGeometry(QtCore.QRect(100, 200, 261, 51))
        self.verticalLayoutWidget_4.setObjectName("verticalLayoutWidget_4")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_4)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget_4)
        self.label_2.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 75 12pt \"Cambria\";")
        self.label_2.setObjectName("label_2")
        self.verticalLayout_4.addWidget(self.label_2)
        self.lbl_FileSystem = QtWidgets.QTextEdit(self.verticalLayoutWidget_4)
        self.lbl_FileSystem.setStyleSheet("QTextEdit{\n"
"background-color: rgb(255, 255, 255);\n"
"border-radius: 10px;\n"
"font:  10pt \"Cambria\";\n"
"}\n"
"\n"
"QTextEdit::hover{\n"
"background-color: rgb(255, 0, 0);\n"
"border-radius: 10px;\n"
"font: 10pt \"Cambria\";\n"
"}")
        self.lbl_FileSystem.setObjectName("lbl_FileSystem")
        self.verticalLayout_4.addWidget(self.lbl_FileSystem)
        self.verticalLayoutWidget_5 = QtWidgets.QWidget(self.frame)
        self.verticalLayoutWidget_5.setGeometry(QtCore.QRect(100, 450, 141, 43))
        self.verticalLayoutWidget_5.setObjectName("verticalLayoutWidget_5")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_5)
        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_6 = QtWidgets.QLabel(self.verticalLayoutWidget_5)
        self.label_6.setStyleSheet("color: rgb(255, 255, 255);\n"
"font: 75 12pt \"Cambria\";")
        self.label_6.setObjectName("label_6")
        self.verticalLayout_5.addWidget(self.label_6)
        self.cmd_Language = QtWidgets.QComboBox(self.verticalLayoutWidget_5)
        self.cmd_Language.setStyleSheet("QComboBox{\n"
"    background-color: rgb(255, 255, 255);\n"
"border-radius: 10px;\n"
"}\n"
"QComboBox::hover{\n"
"background-color: rgb(255, 0, 0);\n"
"border-radius: 10px;\n"
"}")
        self.cmd_Language.setObjectName("cmd_Language")
        self.verticalLayout_5.addWidget(self.cmd_Language)
        self.btn_Start = QtWidgets.QPushButton(self.frame)
        self.btn_Start.setGeometry(QtCore.QRect(260, 450, 81, 41))
        self.btn_Start.setStyleSheet("QPushButton{\n"
"\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: rgb(255, 0, 0);\n"
"}\n"
"\n"
"QPushButton::hover{\n"
"border: 2px solid #555;\n"
"border-radius: 10px;\n"
"border-style: outset;\n"
"    background-color: #000;\n"
"    color:#fff;\n"
"    \n"
"}\n"
"\n"
"")
        self.btn_Start.setIconSize(QtCore.QSize(68, 68))
        self.btn_Start.setObjectName("btn_Start")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
  
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
      
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.btn_Exit.setText(_translate("MainWindow", "Exit"))
        self.lbl_DorkScanner.setText(_translate("MainWindow", "Agartha Dork Scanner"))
        self.btn_Github.setWhatsThis(_translate("MainWindow", "<html><head/><body><p><img src=\":/exit/buymeacoffee_logo_icon_169441.png\"/></p></body></html>"))
        self.label_3.setText(_translate("MainWindow", "Dork Type"))
        self.label_4.setText(_translate("MainWindow", "Dork Language"))
        self.label_5.setText(_translate("MainWindow", "Number"))
        self.label_2.setText(_translate("MainWindow", "File Name"))
        self.label_6.setText(_translate("MainWindow", "Select a Language"))
        self.btn_Start.setWhatsThis(_translate("MainWindow", "<html><head/><body><p><img src=\":/exit/buymeacoffee_logo_icon_169441.png\"/></p></body></html>"))
  

        self.btn_Start.setText(_translate("MainWindow", "Start"))
import Assets.resources
  


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



Python:
#PROGRAM KODLARIM


from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from UI import Ui_MainWindow
from googlesearch import search
import os
from PyQt5.QtWidgets import QMessageBox
import webbrowser
from PyQt5.QtCore import QPoint
from PyQt5.QtCore import *
from PyQt5.QtGui import QMouseEvent
class MyApp(QtWidgets.QMainWindow):
    def __init__(self):
        super(MyApp, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.btn_Start.clicked.connect(self.Start)
        self.ui.btn_Github.clicked.connect(self.GitHub_Button)
        self.ui.btn_Exit.clicked.connect(self.Exit)
      
    def Start(self):
        msg = QMessageBox()
        msg.setWindowTitle("İşlem Başlatıldı")
        msg.setText("""
        İşlemin bitmesi 20 saniye kadar sürecek, bekleyiniz.
        """)
        x = msg.exec_()
    def GitHub_Button(self):
        webbrowser.open("https://github.com/nickzsche")
    def Exit(self):
        self.close()
  

def app():
    app = QtWidgets.QApplication(sys.argv)
    app.setStyle('Fusion')
    win = MyApp()
    win.show()
    sys.exit(app.exec_())


app()
 
GUI'yi bir bütün halinde üstüne basılı tutarak hareket ettirmek istiyorsun doğru mu anladım? Eğer bunu yapmak istiyorsan onPress ve onMove şeklinde 2 tane fonksiyon oluşturman lazım. Bunları MyApp Class'ının altına oluşturman gerek:

Python:
    def mousePressEvent(self, event):
        self.oldPosition = event.globalPos()

    
    def mouseMoveEvent(self, event):
        delta = QPoint(event.globalPos() - self.oldPosition)
        self.move(self.x() + delta.x(), self.y() + delta.y())
        self.oldPosition = event.globalPos()


Bu şekilde olması lazım. qt5 kullanmadığımdan syntaxine pek hakim değilim ama aşağı yukarı böyle bir şey olur.
 
Son düzenleme:
Teknik olarak işleyiş:
Görüntü yenilendikçe konum değiştireceksin. Konumu bir döngü içine alacaksın. (Görüntülü işlemler yenilenmedikçe anlık görünüp kapanır. QT nasıl işliyor? bilmiyorum.)
 

Geri
Yukarı