Учебник Python/PySide
http://qt-project.org/wiki/PySide
Установка:
pip install -U PySide
HelloWorld
правитьimport sys
from PySide import QtGui
app = QtGui.QApplication(sys.argv)
win = QtGui.QWidget()
win.resize(320, 240)
win.setWindowTitle("Hello, World!")
win.show()
sys.exit(app.exec_())
QPushButton
правитьhttp://pyside.github.io/docs/pyside/PySide/QtGui/QPushButton.html
# -*- coding: utf-8 -*-
import sys
from PySide import QtGui
from PySide.QtGui import QApplication, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setWindowTitle(u'Главное окно') # если устанавливать значение не unicode, то будут печататься крокозябры
self.resize(300, 200)
self.cw = QtGui.QWidget() # на главном окне нужно определить central widget
self.layout = QtGui.QGridLayout() # у central widget должна быть определена разметка, чтобы добавлять в неё gui-элементы
self.cw.setLayout(self.layout)
self.setCentralWidget(self.cw)
self.pushButton = QtGui.QPushButton()
self.pushButton.setText('Test')
self.pushButton.clicked.connect(self.buttonTest)
self.layout.addWidget(self.pushButton, 0, 0)
def buttonTest(self):
print ('Test OK')
if __name__ == '__main__':
app = QApplication(sys.argv)
frame = MainWindow()
frame.show()
sys.exit( app.exec_() )
другой вариант привязки обработчика событий
правитьfrom PySide import QtCore
...
pushButton = QtGui.QPushButton()
pushButton.setText('Test')
def buttonTest():
print 'Test OK'
QtCore.QObject.connect(
pushButton,
QtCore.SIGNAL("clicked()"),
buttonTest
)
однострочное текстовое поле QLineEdit
правитьhttp://srinikom.github.io/pyside-docs/PySide/QtGui/QLineEdit.html
textField = QtGui.QLineEdit(self)
self.layout.addWidget(textField, 1, 0)
получить значение контрола | textField.displayText()
|
таблица QTableWidget
править table = QtGui.QTableWidget(2, 3) # (кол-во столбцов, кол-во колонок)
self.layout.addWidget(table, 0, 1, 2, 1)