我的应用程序在菜单栏中有一个“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