이 코드를 실행하면 레이블, lineedit 및 두 개의 버튼이있는 간단한 대화 상자가 생성됩니다. 모든 위젯은 대화 상자의 가로 크기 조정에 아름답게 응답합니다. 그러나 대화 상자의 아래쪽에있는 단추는 대화 상자 창의 아래쪽 가장자리에 수직으로 크기가 조정될 때 고정되지 않습니다. 버튼이 항상 대화 상자의 아래쪽 가장자리에 있는지 확인하는 방법은 무엇입니까?PyQt : 대화 상자의 아래쪽 가장자리에 위젯을 붙이는 방법
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
class mainWindow(QtGui.QMainWindow):
def __init__(self):
super(mainWindow, self).__init__()
mainQWidget = QtGui.QWidget()
mainLayout=QtGui.QFormLayout()
mainLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
label = QtGui.QLabel('My Label')
lineEdit = QtGui.QLineEdit()
mainLayout.addRow(label, lineEdit)
ButtonBox = QtGui.QGroupBox()
ButtonsLayout = QtGui.QHBoxLayout()
Button_01 = QtGui.QPushButton("Close")
Button_02 = QtGui.QPushButton("Execute")
ButtonsLayout.addWidget(Button_01)
ButtonsLayout.addWidget(Button_02)
ButtonBox.setLayout(ButtonsLayout)
mainLayout.addRow(ButtonBox)
mainQWidget.setLayout(mainLayout)
self.setCentralWidget(mainQWidget)
if __name__ == '__main__':
window = mainWindow()
window.show()
window.raise_()
window.resize(480,320)
app.exec_()
: 현재 대화에 따라 예를 들어
당신이 대화를 원한다면,'QDialog'에서하지 QMainWindow''에서 상속합니다. – Hyperboreus
불행히도 QDialog에는 QMainWindow가 수행하는 동안 (OSX에서) '최소화 대화 상자'버튼이 없습니다. QMainWindow를 QDialog에 사용했을 때의 부작용은 무엇입니까? 왜 QMainWindow에 대한 QDialog 사용에 대한 귀하의 추천에 대한 이유가 있습니까? – alphanumeric
글쎄, QDialog에는'accepted' 및'rejected' 슬롯이 있습니다. 그것은 모달 일 수도 있습니다 (그러나 저는 MainWindow도 역시 확실하지 않다고 생각합니다). – Hyperboreus