[PyQt] PyQt : QScrollView/QGridLayout question
samirg
samirgrover at yahoo.com
Tue Jul 15 00:23:15 BST 2008
folks,
I am trying create a widget (QVBox) with grid layout in QScrollView which
is inside QDialog.
I place 2 user input fields into this widget, namely, QLabel at 0,0 and
QLineEdit at 0,1, next to QLabel.
Somehow, results are not what I am expecting. It is placing QLineEdit
below QLabel.
I am not using designer for this.
Please, notice that I convert wisget's box layout into
grid layout, so that, I can place QLabel at 0,0 and QLineEdit
at 0,1. But, it does not do that. Any advice on correcting this
piece of code will be helpfull.
regards,
here is how this code looks like:
-----
import sys, qt
from qt import *
class MyDialog(QDialog):
def __init__(self,parent = None,name = None,modal = 0,fl = 0):
QDialog.__init__(self,parent,name,modal,fl)
if not name:
self.setName("MyDialog")
self.setSizeGripEnabled(1)
self.build_window()
def build_window(self):
toplayout = QGridLayout(self,1,1,11,6,"toplayout")
vbMain = qt.QVBox(self)
toplayout.addWidget(vbMain, 0, 0)
sview = qt.QScrollView(vbMain)
vp = sview.viewport()
vbox = qt.QVBox(vp)
sview.addChild(vbox)
vplayout = qt.QGridLayout(vp, 0, 0, 1,-1, 'vpl')
vplayout.addWidget(vbox, 0, 0)
grid = qt.QGridLayout(vbox.layout(), 2, 2)
ll = qt.QLabel('circuit name', vbox)
grid.addWidget(ll, 0,0, qt.Qt.AlignLeft)
nameinput = qt.QLineEdit(vbox)
grid.addWidget(nameinput, 0,1, qt.Qt.AlignLeft)
if __name__ == "__main__":
app = QApplication(sys.argv)
f = MyDialog()
f.show()
app.setMainWidget(f)
app.exec_loop()
--
View this message in context: http://www.nabble.com/PyQt-%3A-QScrollView-QGridLayout-question-tp18455269p18455269.html
Sent from the PyQt mailing list archive at Nabble.com.
More information about the PyQt
mailing list