|
2Qter豆
由.ui文件生成的类的构造函数里都有一个setupUi(this),这个函数的作用是对界面进行初始化,也可以说,setupUi 是我们画的界面和写的程序之间的桥梁。但是在yafeilinux的书上,很多地方在调用setupUi(this)函数之后,继续用ui->对界面操作,为什么修改后的界面还能和我们程序关联上?举个例子吧,原书第85页,第五章
// 添加编辑菜单
QMenu *editMenu = ui->menuBar->addMenu(tr("编辑(&E)"));
// 添加打开菜单
QAction *action_Open = editMenu->addAction(QIcon(":/myImage/images/open.png"),tr("打开文件(&O)"));
// 设置快捷键
action_Open->setShortcut(QKeySequence("Ctrl+O"));
// 在工具栏中添加动作
ui->mainToolBar->addAction(action_Open);
这几行代码都是在setupUi(this)函数调用之后,对菜单栏添加菜单,为什么界面还能和程序关联上?
另外,将上面代码中的ui指针换成this指针为什么不行啊?(因为调用setupUi函数之后,界面和程序关联上了,那么当前创建的对象也有菜单栏,那么就可以用this->menuBar,可是事实上却不可以,不知道为什么?)
跪求解答!
|
最佳答案
查看完整内容
因为那些对象属于ui的,所以是ui->***
ui属于this,你可以用this->ui->***这样用
|