我的應用程序在菜單欄中有一個「actionhelp」,點擊後會打開一個包含ok窗口的QDialog,在主窗口的另一端,我有一個QStackedWidget 所以我的問題是當我按下QDialog中的確定按鈕時,改變stackedwidget的索引?如何從Qdialog中更改QStackedWidget索引
回答
信號和插槽。連接ok按鈕的信號(或者在QDialog :: Accepted關閉後檢測它自己發出的信號)到一個插槽,該插槽將更改QStackedWidget中的索引。
示例代碼:
創建和主要方法連接的QAction:
QAction *displayDialog = new QAction("Display Dialog", this);
connect(popup, SIGNAL(triggered()), this, SLOT(showDialog()));
顯示對話框:
void showDialog()
{
YourDialog *dialog = new YourDialog(this);
int return_code = dialog.exec();
if (return_code == QDialog::Accepted)
{
int index = someValue;
qStackedWidget.setCurrentIndex(index);
}
}
怎麼辦? – 2013-03-19 11:05:32
爲您添加了一些代碼 – Ninjammer 2013-03-20 02:32:52
這幫助了我對類似情況的疑問以及.. thanx .. – RicoRicochet 2015-07-23 09:12:57
假設你有你的對話框行編輯和你想改變基於行編輯值(或旋轉框)的堆疊小部件的索引:
//your dialog
//the constructor
YourDialog::YourDialog(QWidget*parent)
:QDialog(parent)
{
connect(ur_ok_btn, SIGNAL(clicked()), SLOT(accept()));
}
//access to line edit value
QString YourDialog::getUserEnteredValue(){return ur_line_edit->text();}
在其中創建YourDialog類的一個實例:
//your main window
YourDialog dlg;
if(dlg.exec() == QDialog::Accepted){
int i = dlg.getUserEnteredValue().toInt();
ur_stacked_widget->setCurrentIndex(i);
}
試圖給我這個結果:/home/sliver/Documents/Workspace/clinetCloud/mainwindow.cpp:34:error:can not調用構造函數'Logindialog :: Logindialog'直接[-fpermissive] – 2013-03-19 11:04:02
也許你已經定義了你的構造函數私有。 – saeed 2013-03-19 14:18:29
- 1. QStackedWidget索引更新
- 2. 如何從包含的小部件更改QStackedWidget的索引
- 3. 如何將QMainWindow更改爲QDialog
- 4. 如何更改_POST索引
- 5. 如何更改索引值
- 6. 從?索引更改URL/index
- 7. 如何使用css更改QStackedWidget中QWidget的背景顏色?
- 8. 如何更改字段中的索引?
- 9. 如何更改索引位置中的複合索引
- 10. 如何更改Oracle 9i中的索引更改表空間?
- 11. 我如何知道在solr索引中更改,更新和索引的文檔?
- 12. 如何更改iOS TableView索引顏色?
- 13. 如何更改導軌的索引頁?
- 14. 如何更改TemplateInfo.HtmlFieldPrefix的列表索引?
- 15. 如何更改GridView頁面索引
- 16. 如何更改TableItem的索引?
- 17. 如何更改多個索引的值?
- 18. 更改索引條
- 19. 如何讓我的網站(快速)從noindex更改爲索引後索引?
- 20. 如何更改索引的索引是空的
- 21. 如何從QDialog中返回數據?
- 22. 從更改索引防止ViewStack
- 23. 使用從屬索引更改表
- 24. 更改順序np.argmax索引是從
- 25. 如何更改數組索引從1開始?
- 26. 你可以從索引中檢索更改嗎?
- 27. 將我的Qdialog更改爲QMainWindow
- 28. 如何格式化URL從搜索引擎更好的索引
- 29. 如何根據QDialog使QScrollArea更改大小?
- 30. 更改Javascript數組索引
你有你的對話框上的東西,重要的是你?像一個QLineEdit? – saeed 2013-03-19 10:35:12
沒有隻是標籤中的某些「文本」,而不是從該QDialog發送到主窗口 – 2013-03-19 11:11:46