The PyQt4 code porting of 《Foundations of Qt Devel

Ch3

3-1

import sys from PyQt4.QtGui import * from PyQt4.QtCore import * if __name__ == '__main__': app =QApplication(sys.argv) dlg=QDialog () groupBox = QGroupBox( "Groupbox" ); label =QLabel( "Supercalifragilisticexpialidocious" ); lineEdit = QLineEdit() buttons =QDialogButtonBox( QDialogButtonBox.Ok QDialogButtonBox.Cancel ) hLayout = QHBoxLayout( groupBox ); hLayout.addWidget( label ); hLayout.addWidget( lineEdit ); vLayout = QVBoxLayout( dlg ); vLayout.addWidget( groupBox ); vLayout.addStretch(); vLayout.addWidget( buttons ); policy = label.sizePolicy(); policy.setHorizontalStretch( 3 ); label.setSizePolicy( policy ); policy = lineEdit.sizePolicy(); policy.setHorizontalStretch( 1 ); lineEdit.setSizePolicy( policy ) dlg.show() app.exec_()

Ch5

5-1

import sys from PyQt4.QtGui import * from PyQt4.QtCore import * if __name__ == '__main__': app =QApplication(sys.argv) # wind=QWidget() splitter =QSplitter()#wind tree =QTreeView(splitter) list = QListView(splitter) table = QTableView(splitter) model=QStandardItemModel( 5, 2 ); for r in range(5): for c in range(2): item = QStandardItem("Row:{} Column:{}".format(r, c)) if( c == 0 ): for i in range(3): child = QStandardItem("Item {}".format(i) ) child.setEditable( False ); item.appendRow( child ); model.setItem(r, c, item); tree.setModel(model ); list.setModel(model ); table.setModel(model ); print( tree.selectionModel() ) # list.setSelectionModel( tree.selectionModel() ); # table.setSelectionModel( tree.selectionModel() ); model.setHorizontalHeaderItem( 0, QStandardItem( "Name" ) ); model.setHorizontalHeaderItem( 1, QStandardItem( "Phone number" ) ); table.setSelectionBehavior( QAbstractItemView.SelectColumns ); table.setSelectionMode( QAbstractItemView.ExtendedSelection); print( table.selectionModel() .model()) splitter.show() app.exec_()

 

5-2

 

import sys from PyQt4.QtGui import * from PyQt4.QtCore import * if __name__ == '__main__': app =QApplication(sys.argv) # wind=QWidget() splitter =QSplitter()#wind list = QListView(splitter) model=QStringListModel () strings =["Huey" ,"Dewey" ,"Louie"] ; model.setStringList( strings ); list.setModel( model ); splitter.show() app.exec_()
评论

© ID4333709 | Powered by LOFTER