• 6704阅读
  • 2回复

【转载】修罗王1981 problem:两程序间的通讯 [复制链接]

上一主题 下一主题
离线running
 
只看楼主 倒序阅读 楼主  发表于: 2005-11-25
我想实现两程序间的通讯,比如form1.h,form1.cpp,main.cpp是主程序,我想调用form2.h,form2.cpp,那么我如何作?特别是我想form2有返回值,比如Form1中有个按钮,点一下出来Form2,Form2中也有一个按钮,点一下Form2退出,同时向Form1传一个返回值(比如int,or string,or 地址).
请问能否指点一下!举个例子最好!
先谢谢了!
[ 此贴被running在2005-11-26 00:37重新编辑 ]
离线running
只看该作者 1楼 发表于: 2005-11-25
Re:修罗王1981
class VarsWindow:public QDialog
{
  Q_OBJECT
public:
  VarsWindow();  
private slots:
  void SlotGetVarValue();  
private:
  QLabel *varNameLabel;
  QLabel *otherFLabel;
  QLabel *otherSLabel;  
  QComboBox *varNameEdit;
  QLineEdit *inputEdit;
  QLineEdit *otherFEdit;
  QLineEdit *otherSEdit;
  QPushButton *varButton;
};

void VarsWindow::SlotGetVarValue()
{
  Number=varNameEdit->currentItem();
  Name=varNameEdit->currentText();
}

VarsWindow::VarsWindow():QDialog(0,0,TRUE)
{
  setCaption("Properties");
  varNameLabel=new QLabel(this);
  varNameLabel->setText("varName:");
  varNameLabel->setGeometry(5,5,50,10);
  varNameLabel->setFixedHeight(varNameLabel->sizeHint().height());
  varNameLabel->setAlignment(AlignCenter);
 
  varNameEdit=new QComboBox(this);      
  varNameEdit->setGeometry(58,5,80,20);
  varNameEdit->setPalette(white);
 
  if (Type==1 or Type==2 or Type==5)
  {
     varNameEdit->insertItem("X0");
    ......
  }
 
  connect(varNameEdit, SIGNAL( activated( int ) ), this, SLOT( SlotGetVarValue()));
 
  QPushButton *varButton=new QPushButton(this);
  varButton->setGeometry(5,80,138,25);
  varButton->setText("OK");  
  connect( varButton, SIGNAL(clicked ()), this, SLOT(close ()));
}

MyMainWindow::MyMainWindow()
{
if(Button)
{
  VarsWindow vars;
  vars.exec();
  BufRung.Element[col][row].VarName=Name;
  BufRung.Element[col][row].VarNum=Number;
}
}
只看该作者 2楼 发表于: 2005-11-26
哈哈,感谢楼主!
快速回复
限100 字节
 
上一个 下一个