finddialog.h
 
查找对话框实现_职场/****************************************************************************
查找对话框实现_职场**
查找对话框实现_职场** File : finddialog.h
查找对话框实现_职场**
查找对话框实现_职场****************************************************************************/

查找对话框实现_职场
查找对话框实现_职场#ifndef _FINDDIALOG_H_
查找对话框实现_职场#define _FINDDIALOG_H_
查找对话框实现_职场
查找对话框实现_职场#include <QDialog>
查找对话框实现_职场
查找对话框实现_职场//类前向声明
查找对话框实现_职场class QLabel;
查找对话框实现_职场class QLineEdit;
查找对话框实现_职场class QCheckBox;
查找对话框实现_职场class QPushButton;
查找对话框实现_职场
查找对话框实现_职场class FindDialog:public QDialog
查找对话框实现_职场{
查找对话框实现_职场  Q_OBJECT
查找对话框实现_职场public:
查找对话框实现_职场  FindDialog(QWidget *parent=0);
查找对话框实现_职场signals:
查找对话框实现_职场  void findNext(const QString &str,Qt::CaseSensitivity cs);
查找对话框实现_职场  void findPrevious(const QString &str,Qt::CaseSensitivity cs);
查找对话框实现_职场private slots:
查找对话框实现_职场  void findClicked();//处理查找按钮单击事件
查找对话框实现_职场  void enableFindButton(const QString &text);//开启查找按钮
查找对话框实现_职场private:
查找对话框实现_职场  QLabel *label;
查找对话框实现_职场  QLineEdit *lineEdit;
查找对话框实现_职场  QCheckBox *caseCheckBox;
查找对话框实现_职场  QCheckBox *backwardCheckBox;
查找对话框实现_职场  QPushButton *findButton;
查找对话框实现_职场  QPushButton *closeButton;
查找对话框实现_职场};
查找对话框实现_职场#endif // !_FINDDIALOG_H_
 
finddialog.cpp:
 
查找对话框实现_职场/****************************************************************************
查找对话框实现_职场**
查找对话框实现_职场** File : finddialog.cpp
查找对话框实现_职场**
查找对话框实现_职场****************************************************************************/

查找对话框实现_职场#include <QtGui>
查找对话框实现_职场#include "finddialog.h"
查找对话框实现_职场
查找对话框实现_职场FindDialog::FindDialog(QWidget *parent)
查找对话框实现_职场  :QDialog(parent)
查找对话框实现_职场{
查找对话框实现_职场  label=new QLabel(tr("Find &what"));
查找对话框实现_职场  lineEdit=new QLineEdit;
查找对话框实现_职场  label->setBuddy(lineEdit);
查找对话框实现_职场    
查找对话框实现_职场  caseCheckBox=new QCheckBox(tr("Match &case"));
查找对话框实现_职场  backwardCheckBox=new QCheckBox(tr("Search &backward"));
查找对话框实现_职场    
查找对话框实现_职场  findButton=new QPushButton(tr("&Find"));
查找对话框实现_职场  findButton->setDefault(true);
查找对话框实现_职场  findButton->setEnabled(false);
查找对话框实现_职场    
查找对话框实现_职场  closeButton=new QPushButton(tr("Close"));
查找对话框实现_职场    
查找对话框实现_职场  connect(lineEdit,SIGNAL(textChanged(const QString&)),
查找对话框实现_职场    this,SLOT(enableFindButton(const QString&)));
查找对话框实现_职场  connect(closeButton,SIGNAL(clicked()),this,SLOT(close()));
查找对话框实现_职场  connect(findButton,SIGNAL(clicked()),this,SLOT(findClicked()));
查找对话框实现_职场    
查找对话框实现_职场  QHBoxLayout *leftTopLayout=new QHBoxLayout;
查找对话框实现_职场  leftTopLayout->addWidget(label);
查找对话框实现_职场  leftTopLayout->addWidget(lineEdit);
查找对话框实现_职场    
查找对话框实现_职场  QVBoxLayout *leftLayout=new QVBoxLayout;
查找对话框实现_职场  leftLayout->addLayout(leftTopLayout);
查找对话框实现_职场  leftLayout->addWidget(caseCheckBox);
查找对话框实现_职场  leftLayout->addWidget(backwardCheckBox);
查找对话框实现_职场    
查找对话框实现_职场  QVBoxLayout *rightLayout=new QVBoxLayout;
查找对话框实现_职场  rightLayout->addWidget(findButton);
查找对话框实现_职场  rightLayout->addWidget(closeButton);
查找对话框实现_职场  rightLayout->addStretch();
查找对话框实现_职场    
查找对话框实现_职场  QHBoxLayout *mainLayout=new QHBoxLayout;
查找对话框实现_职场  mainLayout->addLayout(leftLayout);
查找对话框实现_职场  mainLayout->addLayout(rightLayout);
查找对话框实现_职场    
查找对话框实现_职场  setLayout(mainLayout);    
查找对话框实现_职场  setWindowTitle(tr("Find Dialog"));
查找对话框实现_职场  setFixedHeight(sizeHint().height());
查找对话框实现_职场}
查找对话框实现_职场
查找对话框实现_职场void FindDialog::enableFindButton(const QString &text)
查找对话框实现_职场{
查找对话框实现_职场  findButton->setEnabled(!text.isEmpty());
查找对话框实现_职场}
查找对话框实现_职场
查找对话框实现_职场void FindDialog::findClicked()
查找对话框实现_职场{
查找对话框实现_职场  QString text=lineEdit->text();
查找对话框实现_职场    
查找对话框实现_职场  Qt::CaseSensitivity cs=caseCheckBox->isChecked()?Qt::CaseSensitive:Qt::CaseInsensitive;
查找对话框实现_职场    
查找对话框实现_职场  if(backwardCheckBox->isChecked())
查找对话框实现_职场  {
查找对话框实现_职场    emit findPrevious(text,cs);//emit 发射信号
查找对话框实现_职场  }else{
查找对话框实现_职场    emit findNext(text,cs);
查找对话框实现_职场  }
查找对话框实现_职场}
 
 
主文件测试findmain.cpp
 
查找对话框实现_职场#include <QApplication>
查找对话框实现_职场
查找对话框实现_职场#include "finddialog.h"
查找对话框实现_职场
查找对话框实现_职场int main(int argc,char* argv[])
查找对话框实现_职场{
查找对话框实现_职场  QApplication app(argc,argv);
查找对话框实现_职场  FindDialog *findDlg=new FindDialog;
查找对话框实现_职场  findDlg->show();
查找对话框实现_职场  return app.exec();
查找对话框实现_职场}
 
 
截图:
 
查找对话框实现_职场_119