これは、PyQt4 を使用した最初のアプリケーションです。
次の2つの問題があります
左ボックスのボタン。間隔が同じではありません。
ラジオボタンに斜体を使用することは可能ですか? (つまり、Ke et al. の代わりに Ke et al.)?
PyQt4 から sys をインポート QtGui、QtCore をインポート
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
# title of the window
self.setWindowTitle('Segmentation Accuracy')
# fix window size
self.setFixedSize(400,200)
# status bar with initial message
self.statusBar().showMessage('ready')
# Layout
# contiene gli altri widget
cWidget = QtGui.QWidget(self)
grid = QtGui.QGridLayout(cWidget)
# Box Left
vBox_left = QtGui.QVBoxLayout()
vBox_left.setSpacing(2) #set spacing
Button_input1 = QtGui.QPushButton("Reference Polygons")
vBox_left.addWidget(Button_input1)
Button_input2 = QtGui.QPushButton("Segmented Polygons")
vBox_left.addWidget(Button_input2)
Button_output = QtGui.QPushButton("Save")
vBox_left.addWidget(Button_output)
Button_start = QtGui.QPushButton("Start")
Button_start.setCheckable(True)
vBox_left.addWidget(Button_input1)
vBox_left.addWidget(Button_input2)
vBox_left.addWidget(Button_output)
vBox_left.addWidget(Button_start)
# Box right
vBox_rigth = QtGui.QVBoxLayout()
vBox_rigth.setSpacing(10) #set spacing
ke = QtGui.QRadioButton("Ke et al.", cWidget)
pu = QtGui.QRadioButton("Pu et al.", cWidget)
clinton = QtGui.QRadioButton("Clinton et al.", cWidget)
ke.setChecked(True)
vBox_rigth.addWidget(ke)
vBox_rigth.addWidget(pu)
vBox_rigth.addWidget(clinton)
ke.setStatusTip("Ke et al., 2010. Remote Sensing of Environment, 114, pp. 1141-1154")
pu.setStatusTip("Pu et al., 2012. Remote Sensing of Environment, 124, pp. 516-533")
clinton.setStatusTip("Clinton et al., 2012. Remote Sensing of Environment, 124, pp. 516-533")
grid.addWidget(Button_input1, 0, 0)
grid.addWidget(Button_input2, 1, 0)
grid.addWidget(Button_output, 2, 0)
grid.addWidget(Button_start, 3, 0)
grid.addLayout(vBox_left, 0, 0)
grid.addLayout(vBox_rigth, 0, 1)
cWidget.setLayout(grid)
self.setCentralWidget(cWidget)
def main():
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
main()