Guest User

Untitled

a guest
Feb 18th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.65 KB | None | 0 0
  1. import sys
  2. # Импортируем наш интерфейс из файла
  3. from untitled import *
  4. from PyQt5 import QtCore, QtGui, QtWidgets
  5.  
  6. class MyWin(QtWidgets.QMainWindow):
  7. def __init__(self, parent=None):
  8. QtWidgets.QWidget.__init__(self, parent)
  9. self.ui = Ui_MainWindow()
  10. self.ui.setupUi(self)
  11.  
  12.  
  13. if __name__=="__main__":
  14. app = QtWidgets.QApplication(sys.argv)
  15. myapp = MyWin()
  16. myapp.show()
  17. sys.exit(app.exec_())
  18.  
  19.  
  20. from PyQt5 import QtCore, QtGui, QtWidgets
  21.  
  22. class Ui_MainWindow(object):
  23. def setupUi(self, MainWindow):
  24. MainWindow.setObjectName("MainWindow")
  25. MainWindow.resize(413, 222)
  26. self.centralwidget = QtWidgets.QWidget(MainWindow)
  27. self.centralwidget.setObjectName("centralwidget")
  28. self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
  29. self.tableWidget.setGeometry(QtCore.QRect(10, 20, 391, 181))
  30. self.tableWidget.setObjectName("tableWidget")
  31. self.tableWidget.setColumnCount(3)
  32. self.tableWidget.setRowCount(5)
  33. item = QtWidgets.QTableWidgetItem()
  34. self.tableWidget.setVerticalHeaderItem(0, item)
  35. item = QtWidgets.QTableWidgetItem()
  36. self.tableWidget.setVerticalHeaderItem(1, item)
  37. item = QtWidgets.QTableWidgetItem()
  38. self.tableWidget.setVerticalHeaderItem(2, item)
  39. item = QtWidgets.QTableWidgetItem()
  40. self.tableWidget.setVerticalHeaderItem(3, item)
  41. item = QtWidgets.QTableWidgetItem()
  42. self.tableWidget.setVerticalHeaderItem(4, item)
  43. item = QtWidgets.QTableWidgetItem()
  44. self.tableWidget.setHorizontalHeaderItem(0, item)
  45. item = QtWidgets.QTableWidgetItem()
  46. self.tableWidget.setHorizontalHeaderItem(1, item)
  47. item = QtWidgets.QTableWidgetItem()
  48. self.tableWidget.setHorizontalHeaderItem(2, item)
  49. MainWindow.setCentralWidget(self.centralwidget)
  50. self.statusbar = QtWidgets.QStatusBar(MainWindow)
  51. self.statusbar.setObjectName("statusbar")
  52. MainWindow.setStatusBar(self.statusbar)
  53.  
  54. self.retranslateUi(MainWindow)
  55. QtCore.QMetaObject.connectSlotsByName(MainWindow)
  56.  
  57. def retranslateUi(self, MainWindow):
  58. _translate = QtCore.QCoreApplication.translate
  59. MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  60. item = self.tableWidget.verticalHeaderItem(0)
  61. item.setText(_translate("MainWindow", "Новая строка"))
  62. item = self.tableWidget.verticalHeaderItem(1)
  63. item.setText(_translate("MainWindow", "1"))
  64. item = self.tableWidget.verticalHeaderItem(2)
  65. item.setText(_translate("MainWindow", "3"))
  66. item = self.tableWidget.verticalHeaderItem(3)
  67. item.setText(_translate("MainWindow", "4"))
  68. item = self.tableWidget.verticalHeaderItem(4)
  69. item.setText(_translate("MainWindow", "5"))
  70. item = self.tableWidget.horizontalHeaderItem(0)
  71. item.setText(_translate("MainWindow", "Сентябрь "))
  72. item = self.tableWidget.horizontalHeaderItem(1)
  73. item.setText(_translate("MainWindow", "Октябрь"))
  74. item = self.tableWidget.horizontalHeaderItem(2)
  75. item.setText(_translate("MainWindow", "Ноябрь"))
  76.  
  77. import sys
  78. from PyQt5 import QtWidgets, QtGui, QtCore
  79.  
  80.  
  81. class Main(QtWidgets.QWidget):
  82. def __init__(self):
  83. super().__init__()
  84. layout = QtWidgets.QHBoxLayout()
  85. self.choice_questions = QtWidgets.QTreeWidget(self)
  86. self.choice_questions.setFixedSize(850, 400)
  87. self.choice_questions.setHeaderLabels(
  88. ["№", "1", "2"])
  89. item = QtWidgets.QTreeWidgetItem(["1", "пример1", "пример2"])
  90. self.choice_questions.addTopLevelItem(item)
  91. self.choice_questions.setFont(QtGui.QFont('Times New Roman', 13))
  92. self.choice_questions.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
  93. self.choice_questions.customContextMenuRequested.connect(self.context)
  94. layout.addWidget(self.choice_questions)
  95. self.setLayout(layout)
  96.  
  97. def context(self, point):
  98. menu = QtWidgets.QMenu()
  99. if self.choice_questions.itemAt(point):
  100. edit_question = QtWidgets.QAction('Редактировать вопрос', menu)
  101. edit_question.triggered.connect(lambda: print("Текст в первой ячейке: " +
  102. self.choice_questions.itemAt(point).text(1)))
  103. menu.addAction(edit_question)
  104. else:
  105. pass
  106. menu.exec(self.choice_questions.mapToGlobal(point))
  107.  
  108.  
  109. if __name__ == "__main__":
  110. app = QtWidgets.QApplication(sys.argv)
  111. main = Main()
  112. main.show()
  113. sys.exit(app.exec_())
  114.  
  115. #! /usr/bin/env python3
  116. # -*- coding:utf-8 -*-
  117. ###############################################################
  118. # kenwaldek MIT-license
  119.  
  120. # Title: PyQt5 lesson 15 Version: 1.0
  121. # Date: 09-01-17 Language: python3
  122. # Description: pyqt5 gui and file saving
  123. # pythonprogramming.net from PyQt4 to PyQt5
  124. ###############################################################
  125. # do something
  126.  
  127.  
  128. import sys
  129. from PyQt5.QtCore import QCoreApplication, Qt
  130. from PyQt5.QtGui import QIcon, QColor
  131. from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QPushButton, QAction, QMessageBox
  132. from PyQt5.QtWidgets import QCalendarWidget, QFontDialog, QColorDialog, QTextEdit, QFileDialog
  133. from PyQt5.QtWidgets import QCheckBox, QProgressBar, QComboBox, QLabel, QStyleFactory, QLineEdit, QInputDialog
  134.  
  135.  
  136.  
  137. class window(QMainWindow):
  138.  
  139. def __init__(self):
  140. super(window, self).__init__()
  141. self.setGeometry(50, 50, 800, 500)
  142. self.setWindowTitle('pyqt5 Tut')
  143. self.setWindowIcon(QIcon('pic.png'))
  144.  
  145. extractAction = QAction('&Get to the choppah', self)
  146. extractAction.setShortcut('Ctrl+Q')
  147. extractAction.setStatusTip('leave the app')
  148. extractAction.triggered.connect(self.close_application)
  149.  
  150. openEditor = QAction('&Editor', self)
  151. openEditor.setShortcut('Ctrl+E')
  152. openEditor.setStatusTip('Open Editor')
  153. openEditor.triggered.connect(self.editor)
  154.  
  155. openFile = QAction('&Open File', self)
  156. openFile.setShortcut('Ctrl+O')
  157. openFile.setStatusTip('Open File')
  158. openFile.triggered.connect(self.file_open)
  159.  
  160. saveFile = QAction('&Save File', self)
  161. saveFile.setShortcut('Ctrl+S')
  162. saveFile.setStatusTip('Save File')
  163. saveFile.triggered.connect(self.file_save)
  164.  
  165.  
  166. self.statusBar()
  167.  
  168. mainMenu = self.menuBar()
  169. fileMenu = mainMenu.addMenu('&File')
  170. fileMenu.addAction(extractAction)
  171.  
  172. fileMenu.addAction(openFile)
  173. fileMenu.addAction(saveFile)
  174.  
  175.  
  176. editorMenu = mainMenu.addMenu('&Editor')
  177. editorMenu.addAction(openEditor)
  178.  
  179. extractAction = QAction(QIcon('pic.png'), 'flee the scene', self)
  180. extractAction.triggered.connect(self.close_application)
  181. self.toolBar = self.addToolBar('extraction')
  182. self.toolBar.addAction(extractAction)
  183.  
  184. fontChoice = QAction('Font', self)
  185. fontChoice.triggered.connect(self.font_choice)
  186. # self.toolBar = self.addToolBar('Font')
  187. self.toolBar.addAction(fontChoice)
  188.  
  189. cal = QCalendarWidget(self)
  190. cal.move(500, 200)
  191. cal.resize(200, 200)
  192.  
  193. self.home()
  194.  
  195. def editor(self):
  196. self.textEdit = QTextEdit()
  197. self.setCentralWidget(self.textEdit)
  198.  
  199. def file_open(self):
  200. # need to make name an tupple otherwise i had an error and app crashed
  201. name, _ = QFileDialog.getOpenFileName(self, 'Open File', options=QFileDialog.DontUseNativeDialog)
  202. print('tot na dialog gelukt') # for debugging
  203. file = open(name, 'r')
  204. print('na het inlezen gelukt') # for debugging
  205. self.editor()
  206.  
  207. with file:
  208. text = file.read()
  209. self.textEdit.setText(text)
  210.  
  211. def file_save(self):
  212. name, _ = QFileDialog.getSaveFileName(self,'Save File', options=QFileDialog.DontUseNativeDialog)
  213. file = open(name, 'w')
  214. text = self.textEdit.toPlainText()
  215. file.write(text)
  216. file.close()
  217.  
  218. def color_picker(self):
  219. color = QColorDialog.getColor()
  220. self.styleChoice.setStyleSheet('QWidget{background-color: %s}' % color.name())
  221.  
  222. def font_choice(self):
  223. font, valid = QFontDialog.getFont()
  224. if valid:
  225. self.styleChoice.setFont(font)
  226.  
  227. def home(self):
  228. btn = QPushButton('quit', self)
  229. btn.clicked.connect(self.close_application)
  230. btn.resize(btn.sizeHint())
  231. btn.move(0, 100)
  232.  
  233. checkBox = QCheckBox('Enlarge window', self)
  234. # checkBox.toggle() # if you want to be checked in in the begin
  235. checkBox.move(0, 50)
  236. checkBox.stateChanged.connect(self.enlarge_window)
  237.  
  238. self.progress = QProgressBar(self)
  239. self.progress.setGeometry(200, 80, 250, 20)
  240.  
  241. self.btn = QPushButton('download', self)
  242. self.btn.move(200, 120)
  243. self.btn.clicked.connect(self.download)
  244.  
  245. self.styleChoice = QLabel('Windows', self)
  246. comboBox = QComboBox(self)
  247. comboBox.addItem('motif')
  248. comboBox.addItem('Windows')
  249. comboBox.addItem('cde')
  250. comboBox.addItem('Plastique')
  251. comboBox.addItem('Cleanlooks')
  252. comboBox.addItem('windowsvista')
  253.  
  254. comboBox.move(25, 250)
  255. self.styleChoice.move(25, 150)
  256. comboBox.activated[str].connect(self.style_choice)
  257.  
  258. color = QColor(0,0,0)
  259. fontColer = QAction('font bg color', self)
  260. fontColer.triggered.connect(self.color_picker)
  261. self.toolBar.addAction(fontColer)
  262.  
  263. self.show()
  264.  
  265. def style_choice(self, text):
  266. self.styleChoice.setText(text)
  267. QApplication.setStyle(QStyleFactory.create(text))
  268.  
  269. def download(self):
  270. self.completed = 0
  271.  
  272. while self.completed < 100:
  273. self.completed += 0.0001
  274. self.progress.setValue(self.completed)
  275.  
  276. def enlarge_window(self, state):
  277. if state == Qt.Checked:
  278. self.setGeometry(50, 50, 1000, 600)
  279. else:
  280. self.setGeometry(50, 50 , 500, 300)
  281.  
  282. def close_application(self):
  283.  
  284. choice = QMessageBox.question(self, 'Message',
  285. "Are you sure to quit?", QMessageBox.Yes |
  286. QMessageBox.No, QMessageBox.No)
  287.  
  288. if choice == QMessageBox.Yes:
  289. print('quit application')
  290. sys.exit()
  291. else:
  292. pass
  293.  
  294.  
  295. if __name__ == "__main__": # had to add this otherwise app crashed
  296.  
  297. def run():
  298. app = QApplication(sys.argv)
  299. Gui = window()
  300. sys.exit(app.exec_())
  301.  
  302. run()
Add Comment
Please, Sign In to add comment