Search 按钮:一开始是禁用状态,当在文本框输入字符时变为可用状态,清除字符时又恢复禁用。
Close 按钮:关闭应用程序
需要把这许多的小窗体装入一个容器里面,这个容器是QBoxLayout(有QHBoxLayout,QVBoxLayout)QBoxLayout->addWidget()
QBoxLayout 又可以装入其它的QBoxLayout,QBoxLayout->addLayout()
最后,把QBoxLayout 装入QWidget这个主容器里面,QWidget->setLayout(),QWidget->show()
注意:QCheckBox 右边的文字是构造函数传入的字符串,不用自已加一个QLabel
右边的QVBoxLayout rightLayout对齐左边的QVBoxLayout,rightLayout->addStretch()
以下代码只实现界面
//
// main.cpp
#include <QApplication>
#include <QLabel>
#include <QBoxLayout>
#include <QLineEdit>
#include <QCheckBox>
#include <QPushButton>
#pragma comment(lib, "QtCore4.lib")
#pragma comment(lib, "QtGui4.lib")
int main(int argc, char **argv)
{
QApplication *app = new QApplication(argc, argv);
QWidget *widow = new QWidget();
QLabel *label = new QLabel("Find &what");
QLineEdit *lineEdit = new QLineEdit();
QHBoxLayout *layout = new QHBoxLayout();
QHBoxLayout *mainLayout = new QHBoxLayout();
QVBoxLayout *leftLayout = new QVBoxLayout();
QVBoxLayout *rightLayout = new QVBoxLayout();
QCheckBox *checkBox_matchCase = new QCheckBox("&Match Case");
QCheckBox *checkBox_Backward= new QCheckBox("Find &Backward");
QPushButton *button_find = new QPushButton("&Find");
QPushButton *button_close = new QPushButton("&Close");
label->setBuddy(lineEdit);
layout->addWidget(label);
layout->addWidget(lineEdit);
leftLayout->addLayout(layout);
leftLayout->addWidget(checkBox_matchCase);
leftLayout->addWidget(checkBox_Backward);
rightLayout->addWidget(button_find);
rightLayout->addWidget(button_close);
rightLayout->addStretch(); // 对齐
mainLayout->addLayout(leftLayout);
mainLayout->addLayout(rightLayout);
button_find->setEnabled(false);
widow->setLayout(mainLayout);
QObject::connect(button_close, SIGNAL(clicked()), app, SLOT(quit())); // 响应退出信号
widow->show();
app->exec();
}
//