qt的源代码

源代码在线查看: 3.12 实例:基本布局管理.txt

软件大小: 63 K
上传用户: yuyx2003
关键词: 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				class Dialog : public QDialog
				 {
				     Q_OBJECT
				 public:
				     Dialog();
				 private:
				     void createMenu();
				     void createHorizontalGroupBox();
				     void createGridGroupBox();
				     void createFormGroupBox();
				     enum { NumGridRows = 3, NumButtons = 4 };
				     QMenuBar *menuBar;
				     QGroupBox *horizontalGroupBox;
				     QGroupBox *gridGroupBox;
				     QGroupBox *formGroupBox;
				     QTextEdit *smallEditor;
				     QTextEdit *bigEditor;
				     QLabel *labels[NumGridRows];
				     QLineEdit *lineEdits[NumGridRows];
				     QPushButton *buttons[NumButtons];
				     QDialogButtonBox *buttonBox;
				     QMenu *fileMenu;
				     QAction *exitAction;
				 };
				 Dialog::Dialog()
				 {
				     createMenu();
				     createHorizontalGroupBox();
				     createGridGroupBox();
				     createFormGroupBox();
				bigEditor = new QTextEdit;
				     bigEditor->setPlainText(tr("This widget takes up all the remaining space "
				                                "in the top-level layout."));
				     buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok
				                                      | QDialogButtonBox::Cancel);
				     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
				     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
				QVBoxLayout *mainLayout = new QVBoxLayout;
				 mainLayout->setMenuBar(menuBar);
				mainLayout->addWidget(horizontalGroupBox);
				     mainLayout->addWidget(gridGroupBox);
				     mainLayout->addWidget(formGroupBox);
				     mainLayout->addWidget(bigEditor);
				     mainLayout->addWidget(buttonBox);
				 setLayout(mainLayout);
				     setWindowTitle(tr("Basic Layouts"));
				 }
				void Dialog::createMenu()
				 {
				     menuBar = new QMenuBar;
				     fileMenu = new QMenu(tr("&File"), this);
				     exitAction = fileMenu->addAction(tr("E&xit"));
				     menuBar->addMenu(fileMenu);
				     connect(exitAction, SIGNAL(triggered()), this, SLOT(accept()));
				 }
				 void Dialog::createHorizontalGroupBox()
				 {
				     horizontalGroupBox = new QGroupBox(tr("Horizontal layout"));
				     QHBoxLayout *layout = new QHBoxLayout;
				     for (int i = 0; i < NumButtons; ++i) {
				         buttons[i] = new QPushButton(tr("Button %1").arg(i + 1));
				         layout->addWidget(buttons[i]);
				     }
				     horizontalGroupBox->setLayout(layout);
				 }
				void Dialog::createGridGroupBox()
				 {
				     gridGroupBox = new QGroupBox(tr("Grid layout")); 
				 for (int i = 0; i < NumGridRows; ++i) {
				         labels[i] = new QLabel(tr("Line %1:").arg(i + 1));
				         lineEdits[i] = new QLineEdit;
				         layout->addWidget(labels[i], i + 1, 0);
				         layout->addWidget(lineEdits[i], i + 1, 1);
				     }
				        smallEditor = new QTextEdit;
				     smallEditor->setPlainText(tr("This widget takes up about two thirds of the "
				                                  "grid layout."));
				     layout->addWidget(smallEditor, 0, 2, 4, 1);
				     layout->setColumnStretch(1, 10);
				     layout->setColumnStretch(2, 20);
				     gridGroupBox->setLayout(layout);
				 }
							

相关资源