彩阳:打开对话框的代码要这么写:
TheDialog theDialog;
theDialog.exec( );
或者
.......
 (2014-07-05 23:18) 
 
 //////////////display.h////////// 
#ifndef DISPLAY_H
#define DISPLAY_H
#include"search.h"
#include <QWidget>  
namespace Ui {
class display;
} 
class display : public QWidget
{
    Q_OBJECT
signals:
   void send_signal_0(int);
   void send_signal_1(int);
   void send_signal_2(int);  
public:
    explicit display(QWidget *parent = 0);
    ~display(); 
private:
    Ui::display *ui;
    Search *searchServer;           
private slots:
    void on_searchServer_0_clicked(); 
    void on_searchServer_1_clicked(); 
    void on_searchServer_2_clicked(); 
}; 
#endif // DISPLAY_H
///////////////////end////////////////////////////    
////////////////display.cpp/////////////////// 
#include "display.h"
#include "ui_display.h"   
display::display(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::display)
{
    ui->setupUi(this);
    //主程序退出,子窗口同时关闭,Qt::WA_QuitOnClose属性是使窗口如果是最后一个关闭的时候触发事件lastWindowClosed(),默认true
    this->setAttribute(Qt::WA_QuitOnClose,false);  
} 
display::~display()
{
    delete ui;
} 
void display::on_searchServer_0_clicked()
{
    searchServer=new Search();
    searchServer->show();
    searchServer->setWindowTitle(tr("page0"));
    int value=0;
    emit send_signal_0(value); 
} 
void display::on_searchServer_1_clicked()
{
    searchServer=new Search();
    searchServer->show();
    searchServer->setWindowTitle(tr("page1"));
    int value=1;
    emit send_signal_1(value); 
} 
void display::on_searchServer_2_clicked()
{
    searchServer=new Search();
    searchServer->show();
    searchServer->setWindowTitle(tr("page2"));
    int value=2;
    emit send_signal_2(value);
}
//////////////////////end/////////////////   
///////////////////search.h////////// 
#ifndef SEARCH_H
#define SEARCH_H
#include <QWidget>
#include "QTableWidget"
#include "QTableWidgetItem"  
namespace Ui {
class Search;
} 
class Search : public QWidget
{
    Q_OBJECT 
public:
    explicit Search(QWidget *parent = 0);
    ~Search(); 
    int get_num;  
public slots: 
private slots:
    void receive_signal_value(int value);  
private:
    Ui::Search *ui; 
}; 
#endif // SEARCH_H
///////////end///////////////////  
///////////////search.cpp///////////////// 
#include "search.h"
#include "ui_search.h"
#include<QHeaderView>
#include<QTableWidget>
#include <stdio.h>
////////////////////////
#include "display.h"
//#include "ui_display.h"   
Search::Search(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Search)
{
    ui->setupUi(this);
    this->setAttribute(Qt::WA_QuitOnClose,false);//主窗口退出,子窗口退出
    this->setWindowFlags(Qt::Window&Qt::WindowMaximizeButtonHint&Qt::WindowMinimizeButtonHint);
    ui->search_tableWidget->setColumnWidth(0,130);   
    display *dlg=new display;
    connect(dlg,SIGNAL(send_signal_0(int)),this,SLOT(receive_signal_value(int)));
    connect(dlg,SIGNAL(send_signal_1(int)),this,SLOT(receive_signal_value(int)));
    connect(dlg,SIGNAL(send_signal_2(int)),this,SLOT(receive_signal_value(int)));
} 
Search::~Search()
{
    delete ui; 
}   
void Search::receive_signal_value(int value)
{
    get_num=value;
    if (fu_num==0)
    {
        ui->search_tableWidget->setItem(0,0,new QTableWidgetItem("第一")); 
    }
    if (fu_num==1)
    {
        ui->search_tableWidget->setItem(0,0,new QTableWidgetItem("第二")); 
    }
    if (fu_num==2)
    {
        ui->search_tableWidget->setItem(0,0,new QTableWidgetItem("第三")); 
    } 
} 
////////////end//////////////