PySideで横線・縦線を作る!!




Mayaコマンドには、「separator」があって、簡単に縦線・横線が作れますが、、、

PySideはないの!?
(  ´・ω・`  )

そう思ったことは、ございませんか!?

そこで、毎回パラメータを設定するのも大変ですので、縦線・横線を簡単に作れる、カスタムウィジェットをご紹介したいと思います!

縦線

PySide(Qt)で、こういったものをやるには、QFrameをベースに作成するとやりやすいかと思います!「setFrameShape」「setFrameShadow」に好みのパラメーターを設定して終了です(*´ω`*)b

縦線を作るには、「setFrameShape」に「QtGui.QFrame.VLine」を設定するのがミソです。

 

from PySide import QtGui

class VerticalLine(QtGui.QFrame):
	def __init__(self, *args, **kwargs):
		super(VerticalLine, self).__init__(*args, **kwargs)
		self.setFrameShape(QtGui.QFrame.VLine)
		self.setFrameShadow(QtGui.QFrame.Sunken)

縦線の実行例

横線

横線を作るには、「setFrameShape」に「QtGui.QFrame.HLine」を設定するのがミソです。

 

from PySide import QtGui

class HorizontalLine(QtGui.QFrame):
	def __init__(self, *args, **kwargs):
		super(HorizontalLine, self).__init__(*args, **kwargs)
		self.setFrameShape(QtGui.QFrame.HLine)
		self.setFrameShadow(QtGui.QFrame.Sunken)

横線の実行例

パラメータの一覧

Qtのドキュメントにある、QFrameの「Detailed Description」の部分に、各パラメータを設定した時の「見た目の画像」があります!(`・ω・´)ゞ

http://doc.qt.io/qt-4.8/qframe.html#details