实验一 创建第一个 Qt 程序—hello Qt 1)如图所示,打开 Qt Creator。
2)单击“New File or Project”,新建一个项目。
3)新建一个空的 Qt4 项目,在右边选择空的 Qt 项目。
4)对项目命名,指定路径,完成项目的新建。
5)在 Qt Creator 的菜单栏中选择“窗体->显示边栏”,可以看到刚才建立的项目。
6)右键项目文件夹,点击“Add New …”。
7)选择 C++-> C++ Source File,或者选择概要->文本文件,然后重命名为.cpp 后缀的文件即可。文件名默认为 main.cpp,也可以更改为其他命名。按向导操作,最后点击“Finish”完成。
8)双击 hello.cpp 文件,按图示编辑源代码,然后单击左下角的第一个绿色三角形按钮(或 Ctrl+R)即可运行。
9)出现如下对话框时,选择“Save All”。
10)运行结果如图左上角所示。
11)修改窗体大小。在 label->show();前加上一行代码:
label->resize(300,100);则可以指定窗体的大小,如下图所示。
12)若将第 7 行代码:QLabel *label = new QLabel("Hello Qt!");更改成如下代码:
QLabel *label = new QLabel("
Hello " "Qt!
");则窗体内会有如下显示。
实验二 创建一个对话框—Find 1)按实验一步骤,新建一个空的 Qt4 项目。
2)右键项目文件夹,点击“Add New …”,新建一个头文件和两个源文件,如下图所示。
3)在头文件中编辑以下源码。
01 #ifndef FINDDIALOG_H 02 #define FINDDIALOG_H 03 04 #include 05 06 class QCheckBox;07 class QLabel;08 class QLineEdit;09 class QPushButton;10 11 class FindDialog : public QDialog 12 { 13 Q_OBJECT 14 15 public: 16 FindDialog(QWidget *parent = 0);17 18 signals: 19 void findNext(const QString &str, Qt::CaseSensitivity cs);20 void findPrevious(const QString &str, Qt::CaseSensitivity cs);21 22 private slots: 23 void findClicked();24 void enableFindButton(const QString &text);25 26 private: 27 QLabel *label;28 QLineEdit *lineEdit;29 QCheckBox *caseCheckBox;30 QCheckBox *backwardCheckBox;31 QPushButton *findButton;32 QPushButton *closeButton;33 };34 35 #endif
4)在 finddialog.cpp 文件中编辑以下源码。
01 #include 02 03 #include "finddialog.h" 04 05 FindDialog::FindDialog(QWidget *parent)06 : QDialog(parent)07 { 08 label = new QLabel(tr("Find &what:"));09 lineEdit = new QLineEdit;10 label->setBuddy(lineEdit);11 12 caseCheckBox = new QCheckBox(tr("Match &case"));13 backwardCheckBox = new QCheckBox(tr("Search &backward"));14 15 findButton = new QPushButton(tr("&Find"));16 findButton->setDefault(true);17 findButton->setEnabled(false);18 19 closeButton = new QPushButton(tr("Close"));20 21 connect(lineEdit, SIGNAL(textChanged(const QString &)), 22 this, SLOT(enableFindButton(const QString &)));23 connect(findButton, SIGNAL(clicked()), 24 this, SLOT(findClicked()));25 connect(closeButton, SIGNAL(clicked()), 26 this, SLOT(close()));27 28 QHBoxLayout *topLeftLayout = new QHBoxLayout;29 topLeftLayout->addWidget(label);30 topLeftLayout->addWidget(lineEdit);31 32 QVBoxLayout *leftLayout = new QVBoxLayout;33 leftLayout->addLayout(topLeftLayout);34 leftLayout->addWidget(caseCheckBox);35 leftLayout->addWidget(backwardCheckBox);36 37 QVBoxLayout *rightLayout = new QVBoxLayout;38 rightLayout->addWidget(findButton);39 rightLayout->addWidget(closeButton);40 rightLayout->addStretch();41
42 QHBoxLayout *mainLayout = new QHBoxLayout;43 mainLayout->addLayout(leftLayout);44 mainLayout->addLayout(rightLayout);45 setLayout(mainLayout);46 47 setWindowTitle(tr("Find"));48 setFixedHeight(sizeHint().height());49 } 50 51 void FindDialog::findClicked()52 { 53 QString text = lineEdit->text();54 Qt::CaseSensitivity cs = 55 caseCheckBox->isChecked()? Qt::CaseSensitive 56 : Qt::CaseInsensitive;57 if(backwardCheckBox->isChecked()){ 58 emit findPrevious(text, cs);59 } else { 60 emit findNext(text, cs);61 } 62 } 63 64 void FindDialog::enableFindButton(const QString &text)65 { 66 findButton->setEnabled(!text.isEmpty());67 } 5)在 main.cpp 文件中编辑以下源码。
01 #include 02 03 #include "finddialog.h" 04 05 int main(int argc, char *argv[])06 { 07 QApplication app(argc, argv);08 FindDialog *dialog = new FindDialog;09 dialog->show();10 return app.exec();11 }
6)在工程文件中编辑以下源码。
7)单击左下角的第一个绿色三角形按钮(或 Ctrl+R)即可运行。
8)文本框可以输入数字和字母,然后“Find“按钮可以工作,但由于没有添加其他操作,所以没有实际意义,如下图所示。
8)如果你的系统上能够显示快捷键,那么可以检验一下快捷键 Alt+W、Alt+C、Alt+B 和 Alt+F 是否正确的触发了。
运行结果 1、HelloQt 的运行结果(1)(2)
(3)2、Find 的运行结果
-实验讲义-副本.
11实验调查(讲义)
核磁共振实验DH2002A型核磁共振实验仪实验讲义
教学讲义
经济学讲义
《经济学讲义.docx》
将本文的Word文档下载到电脑,方便收藏和打印