seroff

Files to images By Seroff

May 14th, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.22 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. # Form implementation generated from reading ui file 'untitled_full.ui'
  4. #
  5. # Created by: PyQt5 UI code generator 5.13.2
  6. #
  7. # WARNING! All changes made in this file will be lost!
  8.  
  9.  
  10. from PyQt5 import QtCore, QtGui, QtWidgets
  11. from PyQt5.QtGui import QIcon
  12.  
  13. import zipfile,os,shutil,sys
  14.  
  15.  
  16. def resource_path(relative):
  17.  
  18. if hasattr(sys, '_MEIPASS'):
  19. return os.path.join(sys._MEIPASS, relative)
  20. else:
  21. return os.path.join(os.path.abspath("."), relative)
  22.  
  23.  
  24. class Ui_Dialog(object):
  25. def setupUi(self, Dialog):
  26. Dialog.setObjectName("Dialog")
  27. Dialog.resize(533, 271)
  28. self.lineEdit = QtWidgets.QLineEdit(Dialog)
  29. self.lineEdit.setGeometry(QtCore.QRect(250, 50, 241, 20))
  30. self.lineEdit.setObjectName("lineEdit")
  31. self.lineEdit_2 = QtWidgets.QLineEdit(Dialog)
  32. self.lineEdit_2.setGeometry(QtCore.QRect(250, 80, 241, 20))
  33. self.lineEdit_2.setObjectName("lineEdit_2")
  34. self.lineEdit_3 = QtWidgets.QLineEdit(Dialog)
  35. self.lineEdit_3.setGeometry(QtCore.QRect(250, 110, 241, 20))
  36. self.lineEdit_3.setObjectName("lineEdit_3")
  37. self.lineEdit_4 = QtWidgets.QLineEdit(Dialog)
  38. self.lineEdit_4.setGeometry(QtCore.QRect(250, 140, 241, 20))
  39. self.lineEdit_4.setObjectName("lineEdit_4")
  40. self.lineEdit_5 = QtWidgets.QLineEdit(Dialog)
  41. self.lineEdit_5.setGeometry(QtCore.QRect(250, 170, 241, 20))
  42. self.lineEdit_5.setObjectName("lineEdit_5")
  43. self.lineEdit_6 = QtWidgets.QLineEdit(Dialog)
  44. self.lineEdit_6.setGeometry(QtCore.QRect(250, 240, 241, 20))
  45. self.lineEdit_6.setObjectName("lineEdit_6")
  46. self.label = QtWidgets.QLabel(Dialog)
  47. self.label.setGeometry(QtCore.QRect(40, 0, 471, 41))
  48. self.label.setObjectName("label")
  49. self.label_2 = QtWidgets.QLabel(Dialog)
  50. self.label_2.setGeometry(QtCore.QRect(160, 50, 81, 23))
  51. self.label_2.setObjectName("label_2")
  52. self.radioButton = QtWidgets.QRadioButton(Dialog)
  53. self.radioButton.setGeometry(QtCore.QRect(91, 80, 151, 20))
  54. font = QtGui.QFont()
  55. font.setPointSize(12)
  56. font.setBold(True)
  57. font.setWeight(75)
  58. self.radioButton.setFont(font)
  59. self.radioButton.setObjectName("radioButton")
  60. self.radioButton_2 = QtWidgets.QRadioButton(Dialog)
  61. self.radioButton_2.setGeometry(QtCore.QRect(81, 110, 161, 20))
  62. font = QtGui.QFont()
  63. font.setPointSize(12)
  64. font.setBold(True)
  65. font.setWeight(75)
  66. self.radioButton_2.setFont(font)
  67. self.radioButton_2.setObjectName("radioButton_2")
  68. self.radioButton_3 = QtWidgets.QRadioButton(Dialog)
  69. self.radioButton_3.setGeometry(QtCore.QRect(80, 140, 161, 20))
  70. font = QtGui.QFont()
  71. font.setPointSize(12)
  72. font.setBold(True)
  73. font.setWeight(75)
  74. self.radioButton_3.setFont(font)
  75. self.radioButton_3.setObjectName("radioButton_3")
  76. self.label_3 = QtWidgets.QLabel(Dialog)
  77. self.label_3.setGeometry(QtCore.QRect(70, 170, 181, 23))
  78. self.label_3.setObjectName("label_3")
  79. self.label_4 = QtWidgets.QLabel(Dialog)
  80. self.label_4.setGeometry(QtCore.QRect(40, 240, 200, 23))
  81. self.label_4.setObjectName("label_4")
  82. self.label_5 = QtWidgets.QLabel(Dialog)
  83. self.label_5.setGeometry(QtCore.QRect(150, 200, 261, 41))
  84. self.label_5.setObjectName("label_5")
  85. self.toolButton = QtWidgets.QToolButton(Dialog)
  86. self.toolButton.setGeometry(QtCore.QRect(500, 50, 25, 19))
  87. self.toolButton.setObjectName("toolButton")
  88. self.toolButton_2 = QtWidgets.QToolButton(Dialog)
  89. self.toolButton_2.setGeometry(QtCore.QRect(500, 80, 25, 19))
  90. self.toolButton_2.setObjectName("toolButton_2")
  91. self.toolButton_3 = QtWidgets.QToolButton(Dialog)
  92. self.toolButton_3.setGeometry(QtCore.QRect(500, 110, 25, 19))
  93. self.toolButton_3.setObjectName("toolButton_3")
  94. self.toolButton_4 = QtWidgets.QToolButton(Dialog)
  95. self.toolButton_4.setGeometry(QtCore.QRect(500, 140, 25, 19))
  96. self.toolButton_4.setObjectName("toolButton_4")
  97. self.toolButton_5 = QtWidgets.QToolButton(Dialog)
  98. self.toolButton_5.setGeometry(QtCore.QRect(500, 170, 25, 19))
  99. self.toolButton_5.setObjectName("toolButton_5")
  100. self.toolButton_6 = QtWidgets.QToolButton(Dialog)
  101. self.toolButton_6.setGeometry(QtCore.QRect(500, 240, 25, 19))
  102. self.toolButton_6.setObjectName("toolButton_6")
  103. self.comboBox = QtWidgets.QComboBox(Dialog)
  104. self.comboBox.setGeometry(QtCore.QRect(10, 50, 69, 22))
  105. self.comboBox.setObjectName("comboBox")
  106. self.comboBox.addItem("")
  107. self.comboBox.addItem("")
  108. self.radioButton.clicked.connect(self.radioButton_checked)
  109. self.radioButton_2.clicked.connect(self.radioButton_checked1)
  110. self.radioButton_3.clicked.connect(self.radioButton_checked2)
  111. # self.toolButton_5.clicked.connect(self.Button_checked)
  112. self.comboBox.activated.connect(self.lang_informer)
  113. self.toolButton.clicked.connect(self.buttonClicked)
  114. self.toolButton_2.clicked.connect(self.buttonClicked1)
  115. self.toolButton_3.clicked.connect(self.buttonClicked2)
  116. self.toolButton_4.clicked.connect(self.select_folder)
  117. self.toolButton_5.clicked.connect(self.buttonClicked3)
  118. self.toolButton_6.clicked.connect(self.select_folder1)
  119. self.radioButton.setChecked(True)
  120. self.lineEdit_2.setEnabled(True)
  121. self.lineEdit_3.setEnabled(False)
  122. self.lineEdit_4.setEnabled(False)
  123. self.toolButton_2.setEnabled(True)
  124. self.toolButton_3.setEnabled(False)
  125. self.toolButton_4.setEnabled(False)
  126.  
  127. self.retranslateUi(Dialog)
  128. QtCore.QMetaObject.connectSlotsByName(Dialog)
  129.  
  130. def buttonClicked(self):
  131. # szFile = QtWidgets.QFileDialog.getOpenFileName()[0]
  132. szFile=QtWidgets.QFileDialog().getOpenFileName(None,"Открыть файл",".","Картинка(*.jpg *.png *.gif *.tga);;Все(*.*)" )
  133.  
  134. self.lineEdit.setText(str(szFile[0]))
  135.  
  136. def buttonClicked1(self):
  137. # szFile = QtWidgets.QFileDialog.getOpenFileName()[0]
  138. szFile=QtWidgets.QFileDialog().getOpenFileName(None,"Открыть файл",".","Архив(*.zip)" )
  139.  
  140. self.lineEdit_2.setText(str(szFile[0]))
  141.  
  142. def buttonClicked2(self):
  143. szFile = QtWidgets.QFileDialog.getOpenFileName()[0]
  144.  
  145. self.lineEdit_3.setText(szFile)
  146.  
  147.  
  148. def buttonClicked3(self):
  149. # QtWidgets.QFileDialog.setNameFilters("*.jpg","*.png")
  150. # szFile = QtWidgets.QFileDialog.getSaveFileName()[0]
  151. # QFileDialog.setNameFilter("Картику (*.png *.xpm *.jpeg *.jpg *.gif)")
  152.  
  153. szFile=QtWidgets.QFileDialog().getSaveFileName(None,"Сохранить файл",".","Картинка(*.jpg *.png *.gif *.tga);;Все(*.*)" )
  154. self.lineEdit_5.setText(str(szFile[0]))
  155. if self.radioButton_3.isChecked():
  156. if self.lineEdit_4.text():
  157.  
  158. # z = zipfile.ZipFile('spam.zip', 'w')
  159. # z.write(self.lineEdit_4.text(),"path/*")
  160. # z.close()
  161. shutil.make_archive("archive_image", 'zip', self.lineEdit_4.text())
  162. os.system("copy /b "+self.lineEdit.text().replace("/", "\\")+"+archive_image.zip "+self.lineEdit_5.text().replace("/", "\\"))
  163. print("go save 3")
  164. else:
  165. print("error 3")
  166. elif self.radioButton_2.isChecked():
  167. if self.lineEdit_3.text():
  168. print("go save 2")
  169. file_name=self.lineEdit_3.text()
  170. sFile=os.path.basename(file_name)
  171. z = zipfile.ZipFile('archive_image.zip', 'w')
  172. z.write(file_name,sFile)
  173. z.close()
  174. os.system("copy /b "+self.lineEdit.text().replace("/", "\\")+"+archive_image.zip "+self.lineEdit_5.text().replace("/", "\\"))
  175. else:
  176. print("error 2")
  177. elif self.radioButton.isChecked():
  178. if self.lineEdit_2.text():
  179. os.system("copy /b "+self.lineEdit.text().replace("/", "\\")+"+"+self.lineEdit_2.text().replace("/", "\\")+" "+self.lineEdit_5.text().replace("/", "\\"))
  180. print("go save 1")
  181. else:
  182. print("error 1")
  183.  
  184. def select_folder(self):
  185. sDir=str(QtWidgets.QFileDialog.getExistingDirectory())
  186. self.lineEdit_4.setText(sDir)
  187.  
  188. def select_folder1(self):
  189. # sDir=str(QtWidgets.QFileDialog.getExistingDirectory())
  190. szFile=QtWidgets.QFileDialog().getOpenFileName(None,"Открыть файл",".","Картинка(*.jpg *.png *.gif *.tga);;Все(*.*)" )
  191. self.lineEdit_6.setText(str(szFile[0]))
  192.  
  193. zipFile = zipfile.ZipFile(szFile[0], 'r')
  194. zipFile.extractall('images_files')
  195. zipFile.close()
  196.  
  197. def lang_informer(self):
  198. lang_if=self.comboBox.currentText()
  199. _translate = QtCore.QCoreApplication.translate
  200. if lang_if=="Russian":
  201. Dialog.setWindowTitle(_translate("Dialog", "Файлы в картинку"))
  202. self.label.setGeometry(QtCore.QRect(40, 0, 471, 41))
  203. self.label_3.setGeometry(QtCore.QRect(70, 170, 181, 23))
  204. self.label_2.setGeometry(QtCore.QRect(160, 50, 81, 23))
  205. self.label_4.setGeometry(QtCore.QRect(40, 240, 200, 23))
  206. self.label_5.setGeometry(QtCore.QRect(150, 200, 261, 41))
  207. self.radioButton.setGeometry(QtCore.QRect(91, 80, 151, 20))
  208. self.radioButton_2.setGeometry(QtCore.QRect(81, 110, 161, 20))
  209. self.radioButton_3.setGeometry(QtCore.QRect(80, 140, 161, 20))
  210. self.label.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt; font-weight:600;\">Прячем файлы в картинку :)</span></p></body></html>"))
  211. self.label_2.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Картинка</span></p></body></html>"))
  212. self.radioButton.setToolTip(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Архив</span></p></body></html>"))
  213. self.radioButton.setText(_translate("Dialog", "Выбрать Архив"))
  214. self.radioButton_2.setText(_translate("Dialog", "Упаковать файл"))
  215. self.radioButton_3.setText(_translate("Dialog", "Упаковать папку"))
  216. self.label_3.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Сохраняем картинку</span></p></body></html>"))
  217. self.label_4.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Куда распаковать файл</span></p></body></html>"))
  218. self.label_5.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt;\">Распаковка файлов</span></p></body></html>"))
  219. elif lang_if=="English":
  220. Dialog.setWindowTitle(_translate("Dialog", "Files in images"))
  221. self.label.setGeometry(QtCore.QRect(100, 0, 471, 41))
  222. self.label_2.setGeometry(QtCore.QRect(190, 50, 52, 23))
  223. self.label_3.setGeometry(QtCore.QRect(145, 170, 100, 23))
  224. self.label_4.setGeometry(QtCore.QRect(105, 240, 140, 23))
  225. self.label_5.setGeometry(QtCore.QRect(190, 200, 200, 41))
  226. self.radioButton.setGeometry(QtCore.QRect(110, 80, 135, 20))
  227. self.radioButton_2.setGeometry(QtCore.QRect(145, 110, 100, 20))
  228. self.radioButton_3.setGeometry(QtCore.QRect(122, 140, 128, 20))
  229. self.label.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt; font-weight:600;\">Hide files in image :)</span></p></body></html>"))
  230. self.label_2.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Image</span></p></body></html>"))
  231. self.radioButton.setToolTip(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Архив</span></p></body></html>"))
  232. self.radioButton.setText(_translate("Dialog", "Select archive"))
  233. self.radioButton_2.setText(_translate("Dialog", "Press file"))
  234. self.radioButton_3.setText(_translate("Dialog", "Press Folder"))
  235. self.label_3.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Save Image</span></p></body></html>"))
  236. self.label_4.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Who Unpress file</span></p></body></html>"))
  237. self.label_5.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt;\">Unpress files</span></p></body></html>"))
  238.  
  239.  
  240.  
  241. def radioButton_checked(self):
  242. self.lineEdit_2.setEnabled(True)
  243. self.lineEdit_3.setEnabled(False)
  244. self.lineEdit_4.setEnabled(False)
  245. self.toolButton_2.setEnabled(True)
  246. self.toolButton_3.setEnabled(False)
  247. self.toolButton_4.setEnabled(False)
  248.  
  249.  
  250. def radioButton_checked1(self):
  251. self.lineEdit_2.setEnabled(False)
  252. self.lineEdit_3.setEnabled(True)
  253. self.lineEdit_4.setEnabled(False)
  254. self.toolButton_2.setEnabled(False)
  255. self.toolButton_3.setEnabled(True)
  256. self.toolButton_4.setEnabled(False)
  257.  
  258. def radioButton_checked2(self):
  259. self.lineEdit_2.setEnabled(False)
  260. self.lineEdit_3.setEnabled(False)
  261. self.lineEdit_4.setEnabled(True)
  262. self.toolButton_2.setEnabled(False)
  263. self.toolButton_3.setEnabled(False)
  264. self.toolButton_4.setEnabled(True)
  265.  
  266.  
  267. def retranslateUi(self, Dialog):
  268. _translate = QtCore.QCoreApplication.translate
  269. Dialog.setWindowTitle(_translate("Dialog", "Файлы в картинку"))
  270. Dialog.setWindowIcon(QtGui.QIcon(resource_path('1.ico')))
  271. self.label.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt; font-weight:600;\">Прячем файлы в картинку :)</span></p></body></html>"))
  272. self.label_2.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Картинка</span></p></body></html>"))
  273. self.radioButton.setToolTip(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Архив</span></p></body></html>"))
  274. self.radioButton.setText(_translate("Dialog", "Выбрать Архив"))
  275. self.radioButton_2.setText(_translate("Dialog", "Упаковать файл"))
  276. self.radioButton_3.setText(_translate("Dialog", "Упаковать папку"))
  277. self.label_3.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Сохраняем картинку</span></p></body></html>"))
  278. self.label_4.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600;\">Куда распаковать файл</span></p></body></html>"))
  279. self.label_5.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:22pt;\">Распаковка файлов</span></p></body></html>"))
  280. self.toolButton.setText(_translate("Dialog", "..."))
  281. self.toolButton_2.setText(_translate("Dialog", "..."))
  282. self.toolButton_3.setText(_translate("Dialog", "..."))
  283. self.toolButton_4.setText(_translate("Dialog", "..."))
  284. self.toolButton_5.setText(_translate("Dialog", "..."))
  285. self.toolButton_6.setText(_translate("Dialog", "..."))
  286. self.comboBox.setItemText(0, _translate("Dialog", "Russian"))
  287. self.comboBox.setItemText(1, _translate("Dialog", "English"))
  288.  
  289.  
  290. if __name__ == "__main__":
  291. import sys
  292. app = QtWidgets.QApplication(sys.argv)
  293. Dialog = QtWidgets.QDialog()
  294. ui = Ui_Dialog()
  295. ui.setupUi(Dialog)
  296. Dialog.show()
  297. sys.exit(app.exec_())
Add Comment
Please, Sign In to add comment