簡體   English   中英

Qt C ++信號插槽連接,用於對象之間的數據交換

[英]qt c++ signal slot connections for data exchange between objects

我陷入了以下問題:

我有一個名為PBVars的QWidget,其中包含許多行編輯,這些行編輯由讀取例程填充。 現在,我想讓用戶有機會編輯某些字段,而不必刪除所有條目。 為此,我想打開一個新對話框(名為EGG)並將所有數據復制到EGG中。 現在,用戶可以更改數據,單擊“ SaveValuesToGUI”,然后將值保存回PBVars。 這可能是想法。

我設法從PBVars-> EGG中讀取了所有數據。 但是我被困在從EGG-> PBVars創建信號插槽連接的過程中。

PBVars.h:

...    
EGG *   egg ;

PBVars.cpp:

PBVars::PBVars(QWidget *parent) :
Tab(parent), ui(new Ui::PBVars)
{
 ....      
 egg = new EGG();
 }

  void PBVars::on_but_EditGeometry_clicked()
  {  ...
     // fill Values_from_PBVars here
     egg->show();
     egg->setLneEdits(Values_from_PBVars);
   }

我在哪里以及如何編寫連接。 我認為應該有點像

  connect(  egg ???, SIGNAL(on_pb_sendValuesToPropBasic_clicked()), 
        this, SLOT(write_GGE_ToPBVars(qsl) ));

其中qsl是帶有egg的已編輯值的字符串列表。

有人可以幫我嗎? 謝謝 !!

如果要使連接傳輸數據,則必須在信號和插槽中具有匹配的參數:

void someSignal(int)
...
void someSlot(int i) { ...use i here... }

當發出信號時,將指定實際參數,然后emit someSignal(someInt)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM