[[oktatas:programozás:python:python_qt|< Python Qt]]
====== Qt kezdés ======
* **Szerző:** Sallai András
* Copyright (c) 2021, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Helló Világ =====
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100,100,320,200)
self.setWindowTitle('Helló Világ')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
===== Felirat =====
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWidgets import QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
helloLabel = QLabel(self)
helloLabel.setText('Működik')
helloLabel.move(120, 90)
self.setGeometry(100,100,320,200)
self.setWindowTitle('Helló Világ')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
===== Gomb eseménnyel =====
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
button1 = QPushButton(self)
button1.setText("Mehet")
button1.move(50, 100)
button1.clicked.connect(self.on_click_button1)
self.setGeometry(100,100,320,200)
self.show()
def on_click_button1(self):
self.setWindowTitle('egy')
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
===== Beviteli mező =====
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
button1 = QPushButton(self)
button1.setText("Mehet")
button1.move(50, 100)
button1.clicked.connect(self.on_click_button1)
self.entry1 = QLineEdit(self)
self.entry1.move(50, 60)
self.setGeometry(100,100,320,200)
self.setWindowTitle("Helló Világ")
self.show()
def on_click_button1(self):
text1 = self.entry1.text()
self.setWindowTitle(text1)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
===== Gyakorlat =====
==== triangle.py ====
* Írjon programot, amely bekéri egy háromszög alapját és magasságát, majd kiszámítja a területét.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWidgets import QLabel, QLineEdit, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
baseLabel = QLabel(self)
baseLabel.setText('Alap')
baseLabel.move(50, 30)
self.baseEntry = QLineEdit(self)
self.baseEntry.move(130, 30)
heightLabel = QLabel(self)
heightLabel.setText('Magasság')
heightLabel.move(50, 70)
self.heightEnty = QLineEdit(self)
self.heightEnty.move(130, 70)
calcButton = QPushButton(self)
calcButton.setText('Számít')
calcButton.move(90, 120)
calcButton.clicked.connect(self.on_click_calcbutton)
areaLabel = QLabel(self)
areaLabel.setText('Terület')
areaLabel.move(50, 160)
self.areaEnty = QLineEdit(self)
self.areaEnty.move(130, 160)
self.setGeometry(100,100,320,200)
self.setWindowTitle('Háromszög területe')
self.show()
def on_click_calcbutton(self):
base = int(self.baseEntry.text())
height = int(self.heightEnty.text())
area = base * height / 2
self.areaEnty.setText(str(area))
self.baseEntry.setText('')
self.heightEnty.setText('')
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())
===== ComboBox =====
import sys
from PyQt5.QtWidgets import QApplication, QComboBox, QMainWindow
from PyQt5.QtWidgets import QComboBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
combo = QComboBox(self)
combo.move(50, 50)
combo.addItem('Alma')
combo.addItem('Körte')
combo.addItem('Barack')
combo.addItem('Szilva')
self.setGeometry(100, 100, 320, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
sys.exit(app.exec_())