Qt 如何使用QWidget.addAction()添加操作?
在Qt中,我想使用Qt 如何使用QWidget.addAction()添加操作?,qt,Qt,在Qt中,我想使用QWidget.addAction()在小部件中添加一些操作。 我可以用QToolBar.addAction()轻松地完成它,但当我使用QWidget.addAction()时,它不起作用 如何使用QWidget.addAction() 以下是我的功能: void Reb::addActionToBar(QString *tabName, QAction *action) { //if tab exist, just add the action, else:
QWidget.addAction()
在小部件中添加一些操作。
我可以用QToolBar.addAction()
轻松地完成它,但当我使用QWidget.addAction()
时,它不起作用
如何使用QWidget.addAction()
以下是我的功能:
void Reb::addActionToBar(QString *tabName, QAction *action)
{
//if tab exist, just add the action, else:
tab_widget->addTab(new QWidget(), *tabName);
for(int i = 0 ; i <= tab_widget->count() ; i++) {
if(tab_widget->tabText(i) == tabName) {
action.setParent(tab_widget->widget(i));
tab_widget->widget(i)->addAction(action);
}
}
}
void Reb::addActionToBar(QString*tabName,QAction*action)
{
//如果选项卡存在,只需添加操作,否则:
tab_widget->addTab(新的QWidget(),*tabName);
对于(int i=0;i count();i++){
如果(tab_小部件->tabText(i)=tabName){
action.setParent(tab_小部件->小部件(i));
tab_widget->widget(i)->addAction(操作);
}
}
}
正如你所知,tab_小部件是一个QTabWidget。。。
我没有错误,但在选项卡中看不到我的操作。不会将操作添加到UI中-根据右上下文菜单策略,显示小部件操作的唯一位置是在小部件的上下文菜单中
QTabWidget无法在其UI中显示操作。操作通常显示在工具栏或菜单栏中,因此需要在其中添加操作
作为旁注,无需通过指针传递QString,只需通过常量引用传递QString即可:
void Reb::addActionToBar(const QString &tabName, QAction *action)
另外,您的代码有一个一次过的错误,请使用
icount()
而不是i count()
来修复该错误。您可以发布您尝试过的内容和收到的错误吗?我插入了部分代码,谢谢:)