PyQT - это расширение Python для построения графического интерфейса пользователя (GUI). Включает ряд модулей, облегчающий разработку программ. Для PyQT имеется свой дизайнер графического интерфейса (Qt Designer).

Доступ к списку аргументов командной строки из PyQt

В примере ниже создается окно с меткой и кнопкой. Текст в метке и в заголовке окна определяется переданным вторым и третьим аргументами при вызове программы из командной строки.Поскольку программу можно вызвать без передачи этих аргументов, то такой случай обрабатывается инструкцией if-else.

Список аргументов можно получить командой QtGui.qApp.argv(). Здесь атрибут qApp модуля QtGui позволяет получить доступ к объекту приложения, в данном случае связанному с переменной app.

Теги

Вычисление количества дней между датами с помощью компонента QCalendarWidget

Календарь PyQT
#!/usr/bin/python3
 
import sys
from PyQt4 import QtGui, QtCore
 
class Window_Calendar(QtGui.QWidget):
	def __init__(self,parent=None):
		QtGui.QWidget.__init__(self,parent)
		self.setGeometry(300,300,700,300)
		self.setWindowTitle("Calendar")
 
		self.cal = QtGui.QCalendarWidget(self)
		self.cal.setGridVisible(True)
		self.cal.move(20,20)
		self.connect(self.cal,QtCore.SIGNAL(

Теги

Динамическое изменение цвета фона

from PyQt4 import QtCore, QtGui
import sys
 
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.setWindowTitle("Изменение цвета фона окна")
window.resize(400,100)
 
# создание объекта-палитры с помощью получения текущей палитры компонента
pal = window.palette() 
 
# установка цвета (3) для фона (2) состояний Normal и Inactive (1)
pal.setColor(QtGui.QPalette.Normal, QtGui.QPalette.Background,QtGui.QColor("#008800"))
pal.setColor(QtGui.QPalette.Inactive, QtGui.QPalette.Background,QtGui.QColor("#ff0000"))
window.setPalette(pal) # использование о

Теги

Менеджеры компоновки в PyQt

Пример сочетания в одном окне разных способов компоновки

Компановка компонентов в PyQT
from PyQt4 import QtGui, QtCore
import sys
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.resize(350,200)
 
button1 = QtGui.QPushButton("1")
button2 = QtGui.QPushButton("2")
 
hbox = QtGui.QHBoxLayout() # горизонтальный упаковщик
hbox.addWidget(button1,1,QtCore.Qt.AlignRig

Теги

Как работать с формой, созданной в Qt Designer

Подключение ui-файла к py-файлу

Допустим, имеются основной файл с программой (*.py) и созданная в QtDesigner форма (*.ui).

Загрузка формы в py-скрипт выполняется с помощью функции loadUi подмодуля uic библиотеки PyQt. Функция возвращает объект-форму.

Обращение к компонентам происходит как к свойствам полученной формы (ООП-стиль).

Теги