私はPyQtレイアウト用のデザインを作成し、これを手動で実現しようとしていますが、QT Creatorの後に.uiファイルからpythonコードを生成する方法については、私は手動で学びたいと思っています。ここに私のソースコードがあります、私はグループボックスにすべての必要な部分を分割した、私はそれらを正しく見つける方法を知らない。レイアウトの部分が違うPyQt5
次に、チェックボックス「詳細」がオフのときに、グループボックス「秘密」を非表示にすることはできますか?私はそのようなチュートリアルは見つけていません。
私の希望レイアウト
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QGridLayout, QCheckBox, QLabel, QGroupBox, QSpinBox, QVBoxLayout, QHBoxLayout, QGridLayout, QProgressBar
from PyQt5.Qt import QIcon
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowIcon(QIcon('icon.png'))
self.setFixedSize(400,200)
self.setWindowTitle('My app')
#self.statusBar().showMessage('ready')
groupBox1 = QGroupBox('Config')
vBox1 = QVBoxLayout(self)
readFile = QPushButton('Read File')
decodeFile = QPushButton('Decode')
chBox = QCheckBox('Advanced')
vBox1.addWidget(readFile)
vBox1.addWidget(decodeFile)
vBox1.addWidget(chBox)
groupBox1.setLayout(vBox1)
groupBox2 = QGroupBox('Secret')
gLayout = QGridLayout(self)
label1 = QLabel('Label 1')
label2 = QLabel('Label 2')
edit2 = QSpinBox()
edit3 = QSpinBox()
gLayout.addWidget(label1, 0, 0)
gLayout.addWidget(label2, 1, 0)
gLayout.addWidget(edit2, 0, 1)
gLayout.addWidget(edit3, 1, 1)
groupBox2.setLayout(gLayout)
groupBox3 = QGroupBox('Progress')
vBox2 = QVBoxLayout(self)
pBar = QProgressBar()
vBox2.addWidget(pBar)
groupBox3.setLayout(vBox2)
hbox1 = QHBoxLayout(self)
hbox1.addWidget(groupBox1)
hbox1.addWidget(groupBox2)
hbox1.addWidget(groupBox3)
self.setLayout(hbox1)
self.resize(480, 320);
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
私はまた、ソースコードについての批評をお願い申し上げます。