#-*- coding:utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import requests
import os,sys
PIC=[".jpg",".JPG",".PNG",".png",".JPEG",".jpeg",".bmp",".BMP",".gif",".GIF"]
#*******************************************************************
#*******************************************************************
#***************************布局类**********************************
#*******************************************************************
#*******************************************************************
class graphicsView(QLabel):
def __init__(self,parent=None):
super(graphicsView,self).__init__(parent)
self._parent=parent
def mousePressEvent(self,event):
if event.button()==Qt.LeftButton:
self.dragPosition=event.globalPos()-self._parent._tree.frameGeometry().topLeft()
#print self.dragPosition
event.accept()
if event.button()==Qt.RightButton:
#pass
self.close()
def mouseMoveEvent(self,event):
if event.buttons()& Qt.LeftButton:
self._parent._tree.move(event.globalPos()-self.dragPosition)
event.accept()
#*******************************************************************
#*******************************************************************
#***************************拖拽类**********************************
#*******************************************************************
#*******************************************************************
class MyLineEdit(QLineEdit):
def __init__( self, parent=None ):
super(MyLineEdit, self).__init__(parent)
self.setDragEnabled(True)
def dragEnterEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dragMoveEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
event.acceptProposedAction()
def dropEvent( self, event ):
data = event.mimeData()
urls = data.urls()
if ( urls and urls[0].scheme() == 'file' ):
filepath = str(urls[0].path())[1:]
self.setText(filepath)
#*******************************************************************
#*******************************************************************
#***************************功能类**********************************
#*******************************************************************
#*******************************************************************
class Nude_transform_gui(QWidget):
def __init__(self):
super(Nude_transform_gui,self).__init__()
#self.setWindowFlags(Qt.Window)
self.setWindowTitle("Ai_Nude_Tool_a")
self.initUI()
def initUI(self):
pic_address=QLabel(u'图片地址:')
self.pic_address=MyLineEdit(r'http://www.laotuzi.com/d/file/meizitu/9351fa8c196482040f2d46811a2585eb.jpg')
pic_button=QPushButton(u"加载")
save_address=QLabel(u'图片地址:')
self.save_address=MyLineEdit()
save_button=QPushButton(u"浏览")
self._tree=graphicsView(self)
start_work=QPushButton(u"转换图片")
pbar=QLabel(u"进度")
self.time_pos=QLineEdit()
self.pbar = QProgressBar()
#print dir(self.pbar)
#groupNameData.setFrameStyle(QFrame.Panel|QFrame.Sunken)
laty_1=QHBoxLayout()
laty_1.addWidget(pic_address)
laty_1.addWidget(self.pic_address)
laty_1.addWidget(pic_button)
laty_2=QHBoxLayout()
laty_2.addWidget(self._tree)
laty_3=QHBoxLayout()
laty_3.addWidget(save_address)
laty_3.addWidget(self.save_address)
laty_3.addWidget(save_button)
laty_4=QHBoxLayout()
#print(dir(laty_4))
laty_4.addStretch(10)
laty_4.addSpacing(10)
laty_4.addWidget(self.time_pos,1)
laty_4.addWidget(pbar,1)
laty_4.addWidget(self.pbar ,3)
laty_4.addWidget(start_work,2)
all_lay=QVBoxLayout()
all_lay.addLayout(laty_1)
all_lay.addLayout(laty_2)
all_lay.addLayout(laty_3)
all_lay.addLayout(laty_4)
self.setLayout(all_lay)
self.resize(600,600)
pic_button.clicked.connect(self.get_pic_address)
save_button.clicked.connect(self.get_save_address)
start_work.clicked.connect(self.transform_nude)
def get_pic_address(self):
pic_address=self.pic_address.text()
if(pic_address==""):
QMessageBox.information(self,u"提示", u"请输入图片地址")
return
name=pic_address
if not os.path.exists(name):
url=r'http://img0.pclady.com.cn/pclady/1512/11/1408247_2.jpg'
req = requests.get(url)
self._tree.image=QPixmap()
self._tree.image.loadFromData(req.content)
self._tree.setPixmap (self._tree.image)
def get_save_address(self):
filename = QFileDialog.getExistingDirectory()
if filename:
filename=filename.replace("\\",'/')
def createRandomString(self,len):
pass
def _process(self,i_image, o_image, use_gpu):
pass
def transform_nude(self):
pass
#*******************************************************************
#*******************************************************************
#***************************主函数***********************************
#*******************************************************************
#*******************************************************************
if __name__ == '__main__':
app = QApplication(sys.argv)
bili = Nude_transform_gui()
bili.show()
sys.exit(app.exec_())
PyQt4 实现图片移动,缩放加载网络图片,并实现拖动
最新推荐文章于 2024-04-01 16:42:05 发布