. MayaPySide】ちょっとおしゃれなUIメソッド【1日目】 | UnPySide
MayaPySide】ちょっとおしゃれなUIメソッド【1日目】 | UnPySide
MayaPySide】ちょっとおしゃれなUIメソッド【1日目】 | UnPySide

【MayaPySide】ちょっとおしゃれなUIメソッド【1日目】

上の処理はQMouseEventを使用しています x(),y()でマウスのプッシュ、リリース時のマウスカーソル位置情報を取得し globalX()とglobalY()でイベント発生時のマウスカーソルのグローバル位置情報を取得しています あとはmove()処理でWindowを移動させるという方法です これでマウスでwindowを移動することができました 次に角丸のUIを作っていきます 角丸のUIを作るにはsetMask()とQPalette、QPainterPathを使って作ります

def paletteUI(self): Palette = QPalette() self.setPalette(Palette) path = QPainterPath() path.addRoundedRect(self.rect(), 10, 10) region = QRegion(path.toFillPolygon().toPolygon()) self.setMask(region)

QPainterPath()はPathを使って図形を作ることができるものです 図形を作り最終的にそれを使用してWindow自体をマスクし、UIを表現しています 上のコードはinitUIにself.paletteUI()と記述して読み込みます 実行すると下の画像のように変化します

def paletteUI(self): setColors = ['#54354e', '#6a86c7'] Palette = QPalette() gradient = QLinearGradient( QRectF(self.rect()).topLeft(), QRectF(self.rect()).topRight() ) gradient.setColorAt(0.0, setColors[0]) gradient.setColorAt(1.0, setColors[1]) Palette.setBrush(QPalette.Background, QBrush(gradient)) self.setPalette(Palette) path = QPainterPath() path.addRoundedRect(self.rect(), 10, 10) region = QRegion(path.toFillPolygon().toPolygon()) self.setMask(region) Lanbuage Switcher Lanbuage Switcher お問い合わせ タグ カテゴリー

返信を残す 返信をキャンセル

Copyright © 2017 - 2026 UnPySide

📎📎📎📎📎📎📎📎📎📎