Mirror of 1.4.15 from Lovers Lab

This commit is contained in:
ghostclinic3YTB 2023-04-03 21:47:49 -04:00
parent 9a3d9f4185
commit a5ed05c17b
1180 changed files with 4378 additions and 1905 deletions

View file

@ -0,0 +1,128 @@
import sys
import math
from PyQt5.QtCore import QPoint
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip , QMainWindow, QAction, qApp , QHBoxLayout, QVBoxLayout, QFrame
from PyQt5.QtWidgets import QRadioButton, QCheckBox, QGroupBox, QGridLayout, QMenu, QTabWidget, QDesktopWidget, QLabel, QStatusBar
from PyQt5.QtGui import QPixmap
from PyQt5.QtGui import QFont
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QCoreApplication
class MyApp(QWidget):
graphic_image = QPixmap
lbl_img = QLabel
def __init__(self):
super().__init__()
self.setWindowTitle('ImagePointFinder')
self.statusbar = QStatusBar()
self.statusbar.showMessage("Click Image to Get Position")
self.initUI()
self.setAcceptDrops(True)
self.posX = 0.0
self.posY = 0.0
self.Rot = 0.0
self.Len = 0
#self.setStatusBar(self.statusbar)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
files = [u.toLocalFile() for u in event.mimeData().urls()]
for f in files:
print(f)
self.graphic_image = QPixmap(files[0])
self.lbl_img.setPixmap(self.graphic_image.scaled(512,512))
#self.lbl_img.frame = QFrame(self.lbl_img.frame)
self.lbl_img.setFrameShape(QFrame.Box)
def mousePressEvent(self, event):
#event.x()
#print()
self.posX = event.globalX() - self.lbl_img.mapToGlobal(QPoint(0,0)).x()
self.posY = event.globalY() - self.lbl_img.mapToGlobal(QPoint(0,0)).y()
self.Rot = 0.0
self.Len = 0.0
U = 0
V = 0
if(self.lbl_img.pixmap()):
U = (self.posX / self.lbl_img.pixmap().height())-0.5
V = (self.posY / self.lbl_img.pixmap().width())*-1 + 0.5
txt = "Clicked Position ; Position(x,y) =({0:.3f}, {1:.3f}) , Rotation = {2:.1f}, Length = {3:.3f} ".format(U, V, self.Rot, self.Len)
self.statusbar.showMessage(txt)
#print(event.globalX())
def mouseMoveEvent(self, event):
target_posX = event.globalX() - self.lbl_img.mapToGlobal(QPoint(0,0)).x()
target_posY = event.globalY() - self.lbl_img.mapToGlobal(QPoint(0,0)).y()
self.Rot = math.degrees( math.atan2(target_posY - self.posY, target_posX - self.posX)) + 90
if(self.Rot < 0):
self.Rot = self.Rot + 360
if(self.lbl_img.pixmap()):
U = (self.posX / self.lbl_img.pixmap().height())-0.5
V = (self.posY / self.lbl_img.pixmap().width())*-1 + 0.5
tU = target_posX / self.lbl_img.pixmap().height()
tV = target_posY / self.lbl_img.pixmap().width()
self.Len = math.fabs(math.dist((U,V),( tU, tV)))
txt = "Clicked Position ; Position(x,y) =({0:.3f}, {1:.3f}) , Rotation = {2:.1f}, Length = {3:.3f} ".format(U, V, self.Rot, self.Len)
self.statusbar.showMessage(txt)
def initUI(self):
tab1 = QWidget()
tab2 = QWidget()
tabs = QTabWidget()
tabs.addTab(tab1, 'Texture Pivot and Point Editor')
#tabs.addTab(tab2, 'Sized Texture List Editor')
vbox = QVBoxLayout()
vbox.addWidget(tabs)
self.graphic_image = QPixmap()
self.lbl_img = QLabel()
#self.lbl_img.setPixmap(self.graphic_image)
self.lbl_img.setText("Drag and Drop Image Here")
vbox2 = QVBoxLayout()
vbox2.addWidget(self.lbl_img)
vbox2.addWidget(self.statusbar)
tab1.setLayout(vbox2)
self.setLayout(vbox)
#print(self.hasMouseTracking())
self.setMouseTracking(True)
#print(self.hasMouseTracking())
self.setGeometry(500, 500, 500, 400)
self.center()
self.show()
#self.statusbar.show()
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())