Найти - Пользователи
Полная версия: Размещение Layout
Начало » GUI » Размещение Layout
1
hcfnhmrx@sharklasers.com
from PyQt4 import QtCore, QtGui
import sys
class Window(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        exitAction = QtGui.QAction(QtGui.QIcon('icon/icon-exit.png'), u'Выйти', self)
        exitAction.setShortcut('Ctrl+Q')
        self.connect(exitAction, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
        aboutAction = QtGui.QAction(QtGui.QIcon('icon/icon-info-sign.png'), u'О программе', self)
        menubar = self.menuBar()
        fileMenu = menubar.addMenu(u'Файл')
        fileMenu.addAction(exitAction)
        infoMenu = menubar.addMenu(u'Справка')
        infoMenu.addAction(aboutAction)
        lineEdit = QtGui.QLineEdit()
        form = QtGui.QFormLayout()
        form.addRow(u"&Название:", lineEdit)
        form.addRow(u"&Описание:", lineEdit)
        self.setLayout(form)
app = QtGui.QApplication(sys.argv)
window = Window()
window.setWindowTitle('Test')
window.setGeometry(0, 0, 350, 400)
app.setWindowIcon(QtGui.QIcon("/icon/icon-progr.png"))
window.show()
sys.exit(app.exec_())

При запуске говорит следующие QWidget::setLayout: Attempting to set QLayout “” on Window “”, which already has a layout
Успел прочитать, что вся загвоздка, что я наследую класс QtGui.QMainWindow. Как решить данную проблему? Кстати если попытаться без макета просто разместить в окне виджет ввода, то он не отображается. Объясните пожалуйста тонкости работы с классом QMainWindow.
sergeek
У QMainWindow есть свой layout, установи центральный виджет:
central = QtGui.QWidget()
central.setLayout(form)
self.setCentralWidget(central)
Rodegast
Используй дизайнер.
hcfnhmrx@sharklasers.com
Rodegast я только знакомлюсь с библиотекой, сначала хочу узнать её и научиться пользоваться, а потом уже для быстрой разработки можно использовать дизайнер.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB