Как я могу сделать GUI приложение, как это без использования Qt Designer:позиционирование виджетов внутри GUI Application (PySide)
Image http://imagizer.imageshack.us/v2/800x600q90/856/zz53.png
Как я могу сделать GUI приложение, как это без использования Qt Designer:позиционирование виджетов внутри GUI Application (PySide)
Image http://imagizer.imageshack.us/v2/800x600q90/856/zz53.png
Ответ на этот вопрос должен быть действительно: по reading the finely-crafted manual.
Одна из лучших вещей в Qt - превосходная документация. Это так хорошо, что вам даже не нужно знать C++, чтобы иметь возможность использовать его. Вы действительно упускаете важную часть обучения PyQt/PySide, если не знаете, что вам нужно.
Но что, черт возьми, вот сырой макет того, что вы просили (остальное я оставляю вам в качестве упражнения):
from PySide import QtCore, QtGui
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
grid = QtGui.QGridLayout()
grid.addWidget(QtGui.QLabel('Label A', self), 0, 0)
grid.addWidget(QtGui.QLabel('Label B', self), 0, 1)
grid.addWidget(QtGui.QLabel('Label C', self), 1, 0)
grid.addWidget(QtGui.QLabel('Label D', self), 1, 1)
vbox = QtGui.QVBoxLayout()
vbox.addWidget(QtGui.QRadioButton('Radio A', self))
vbox.addWidget(QtGui.QRadioButton('Radio B', self))
vbox.addWidget(QtGui.QRadioButton('Radio C', self))
vbox.addWidget(QtGui.QPushButton('Button', self))
widget = QtGui.QWidget(self)
layout = QtGui.QGridLayout(widget)
layout.addLayout(grid, 0, 0)
layout.addLayout(vbox, 0, 1)
layout.addWidget(
QtGui.QSlider(QtCore.Qt.Horizontal, self), 1, 0, 1, 2)
self.setCentralWidget(widget)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.setGeometry(500, 300, 100, 100)
window.show()
sys.exit(app.exec_())
Еще раз спасибо @ekhumoro, я просто попробовал то, что вы написали выше, и он отлично работает, это настоящий код, опускающий некоторые другие инструменты: http://codepad.org/CoppVOAE, если вы хотите посмотреть .. В любом случае, вы также можете попробовать, cus, я бы хотел отобразить радиокнопки в верхней части VBoxLayout, а не прямо посередине. Когда я получил некоторое свободное время, я попытаюсь взглянуть на проводник, который вы разместили ранее, еще раз спасибо за ответ! –
Желательно, чтобы документация была полезной для менее простых вещей. Работа в C++ - большой плюс, если вы действительно хотите в полной мере использовать документацию для qt, которая находится в сети. В какой-то момент я гарантирую, что вы закончите работу над документацией на C++ и обнаружите, что она не имеет эквивалента в PySide/PyQt. – neuronet
+1 за удивительный красный текст, -2 за то, что не показывали абсолютно никаких указаний на выполнение какой-либо работы для ответа на вопрос. Чистое изменение: -1. – neuronet