Создание непрямоугольного окна на Python

Можно создавать окна непрямоугольной формы, на основе изображения с прозрачными краями и другими частями.

from PyQt4 import QtCore, QtGui
import sys
 
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint) # убирает рамку окна
window.resize(640,400)
 
pixmap = QtGui.QPixmap("window.png")
pal = window.palette()
pal.setBrush(QtGui.QPalette.Normal,QtGui.QPalette.Background,QtGui.QBrush(pixmap))
pal.setBrush(QtGui.QPalette.Inactive,QtGui.QPalette.Background,QtGui.QBrush(pixmap))
window.setPalette(pal)
window.setMask(pixmap.mask())# "создание маски" на основе изображения и ее установка
# при "создании маски" происходит отделение альфа-канала,
# т.е. прозрачные области изображения не участвуют в формировании окна.
 
but = QtGui.QPushButton("Close",window)
but.setFixedSize(150,30)
but.move(75,135)
QtCore.QObject.connect(but, QtCore.SIGNAL("clicked()"),QtGui.qApp,QtCore.SLOT("quit()"))
 
window.show()
sys.exit(app.exec_())

  Python Tkinter Text: Работа с текстом в GUI приложениях
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x