#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QLabel, QWidget, QMessageBox, QApplication, QToolTip, QPushButton, QHBoxLayout, QVBoxLayout, QLineEdit, QDesktopWidget, QTableWidget
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import pyqtSlot
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# задаём параметры окна, имя, иконку в корне
self.resize(730, 486)
self.setWindowTitle('Message box')
self.setWindowIcon(QIcon('icon.png'))
# определяем лейблы с расположением и размерами
l1 = QLabel('Количество экспертов', self)
l1.setGeometry(10, 0, 121, 21)
l2 = QLabel('Количество кандидатов', self)
l2.setGeometry(10, 60, 131, 16)
# определяем textbox'ы с расположением и размерами
txb1 = QLineEdit(self)
txb1.setGeometry(10, 30, 113, 20)
txb2 = QLineEdit(self)
txb2.setGeometry(10, 80, 113, 20)
# определяем кнопку, её подсказку, размер и прочее
btn1 = QPushButton('Сфомировать таблицу', self)
btn1.setToolTip('This is a <b>QPushButton</b> widget')
btn1.setGeometry(140, 80, 131, 23)
#определяем ещё не видную таблицу
t1 = QTableWidget(self)
btn1.clicked.connect(self.on_click)
self.show()
# происходит троллинг (нажатие клавиши)
@pyqtSlot()
def on_click(self):
txbVal1 = self.txb1.text()
txbVal2 = self.txb2.text()
t1.setRowCount(self, txbVal1)
t1.setColumnCount(self, txbVal2)
t1.SetGeomety(10, 130)
self.t1.show()
def closeEvent(self, event):
reply = QMessageBox.question(self, 'Message',
"Are you sure to quit?", QMessageBox.Yes |
QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())