您的位置 首页 > 德语词汇

menubar是什么意思、读音 QMenuBar、QMenu、QDialog

这篇文章给大家聊聊关于menubar是什么意思、读音,以及QMenuBar、QMenu、QDialog对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

menubar是什么意思、读音 QMenuBar、QMenu、QDialog

菜单弹出方向。默认情况下,菜单“向下”弹出屏幕。

如果菜单不适合屏幕,则自动使用另一个方向。

菜单栏是否将在支持它的平台上用作本机菜单栏。

当前支持的平台是macOS和使用com.canonical.dbusmenuD-Bus接口的Linux桌面(例如UbuntuUnity)。如果该属性为true,则菜单栏在本机菜单栏中使用,不在其父级的窗口中;如果为false,则菜单栏保留在窗口中。在其他平台上,设置这个属性是没有效果的,读取这个属性总是会返回false。

默认遵循是否为应用程序设置了Qt::AA_DontUseNativeMenuBar属性。显式设置此属性会覆盖属性。

1、【信号】voidhovered(QAction*action)

当一个菜单动作被高亮时,这个信号被发出;action是导致事件被发送的动作。

2、【信号】voidtriggered(QAction*action)

当鼠标单击触发属于该菜单栏的菜单中的动作时,会发出此信号;action是导致信号发射的动作。

注意:QMenuBar必须拥有QMenu的所有权才能使此信号起作用。

通常使用QAction::triggered()将每个菜单操作连接到单个槽,但有时希望将多个项目连接到单个槽(最常见的是如果用户从数组中选择)。该信号在这种情况下很有用。

3、QAction*actionAt(constQPoint&pt)

返回pt处的QAction。如果pt处没有动作或该位置有分隔符,则返回nullptr。

4、QRectactionGeometry(QAction*act)

5、QAction*activeAction()/voidsetActiveAction(QAction*act)

返回当前突出显示的QAction(如果有),否则返回nullptr。

6、QAction*addAction(constQString&text)

创建一个带有文本的新动作。该函数将新创建的动作添加到菜单的动作列表中(QWidget::addAction(QAction*action)),并将其返回。

QAction*addAction(constQString&text,constQObject*receiver,constchar*member)\ntemplate<typenameObj,typenamePointerToMemberFunctionOrFunctor>QAction*addAction(constQString&text,constObj*receiver,PointerToMemberFunctionOrFunctormethod)

使用给定的文本创建一个新动作。动作的trigger()信号连接到receiver的成员槽member/成员函数method。该函数将新创建的动作添加到菜单的动作列表中并返回它。

template<typenameFunctor>QAction*addAction(constQString&text,Functorfunctor)

使用给定的文本创建一个新动作。动作的trigger()信号连接到函子。该函数将新创建的动作添加到菜单的动作列表中并返回它。

7、QAction*addMenu(QMenu*menu)

将菜单附加到菜单栏。返回菜单的QMenu::menuAction()。菜单栏不拥有菜单的所有权。

返回的QAction对象可以用来隐藏对应的菜单。

QMenu*addMenu(constQString&title)\nQMenu*addMenu(constQIcon&icon,constQString&title)

将带有标题、图标的新QMenu附加到菜单栏。菜单栏拥有菜单的所有权。返回新菜单。

在macOS上,已合并到系统菜单栏的菜单项不会被此功能删除。可以自行删除之。

10、voidsetCornerWidget(QWidget*widget,Qt::Cornercorner=Qt::TopRightCorner)

QWidget*cornerWidget(Qt::Cornercorner=Qt::TopRightCorner)

将给定的小部件设置为直接显示在第一个菜单项的左侧或最后一个菜单项的右侧。

菜单栏拥有小部件的所有权。但是,如果角落已经包含一个小部件,则这个先前的小部件将不再被管理,并且仍将是菜单栏的可见子项。

注意:使用Qt::TopRightCorner或Qt::TopLeftCorner以外的角会导致警告。

11、voidinitStyleOption(QStyleOptionMenuItem*option,constQAction*action)

使用菜单栏中的值和动作中的信息初始化选项。当子类需要一个QStyleOptionMenuItem但又不想自己填写所有信息时,此方法很有用。

12、QAction*insertMenu(QAction*before,QMenu*menu)

在动作之前插入菜单并返回菜单menuAction()。

13、QAction*insertSeparator(QAction*before)

创建一个新的分隔符动作,即一个QAction::isSeparator()返回true的动作。插入到before之前并返回它。

返回此菜单栏的本机NSMenu。仅在macOS上可用。

【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】

点击这里:「链接」

菜单的图标。这等效于menuAction()的QAction::icon属性。

连续分隔符是否应在视觉上折叠为单个分隔符,菜单开头或结尾的分隔符也被隐藏。

菜单的标题。这等效于menuAction()的QAction::text属性。

动作菜单条目是否显示其工具提示。默认为false。

该信号在菜单对用户隐藏之前发出。

该信号在菜单显示给用户之前发出。

3、【信号】voidhovered(QAction*action)

当一个菜单动作被高亮时,这个信号被发出;action是导致信号发射的动作。

4、voidtriggered(QAction*action)

触发此菜单中的动作时会发出此信号。action是导致信号发射的动作。

5、QAction*actionAt(constQPoint&pt)

返回pt处的项目;如果那里没有项目,则返回nullptr。

6、QRectactionGeometry(QAction*act)

7、QAction*activeAction()/voidsetActiveAction(QAction*act)

8、QAction*addAction(constQString&text)

QAction*addAction(constQIcon&icon,constQString&text)

创建一个带有文本的新动作。将新创建的动作添加到菜单的动作列表中(QWidget::addAction()),并将其返回。

QAction*addAction(constQString&text,constQObject*receiver,constchar*member,constQKeySequence&shortcut={})\nQAction*addAction(constQIcon&icon,constQString&text,constQObject*receiver,constchar*member,constQKeySequence&shortcut={})

使用文本、图标和快捷方式创建一个新动作。动作的trigger()信号连接到receiver的成员槽member。该函数将新创建的动作添加到菜单的动作列表中并返回它。

template<typenameFunctor>QAction*addAction(constQString&text,Functorfunctor,constQKeySequence&shortcut=0)\ntemplate<typenameFunctor>QAction*addAction(constQString&text,constQObject*context,Functorfunctor,constQKeySequence&shortcut=0)\ntemplate<typenameFunctor>QAction*addAction(constQIcon&icon,constQString&text,Functorfunctor,constQKeySequence&shortcut=0)\ntemplate<typenameFunctor>QAction*addAction(constQIcon&icon,constQString&text,constQObject*context,Functorfunctor,constQKeySequence&shortcut=0)

创建一个新动作。动作的trigger()信号连接到函子。该函数将新创建的动作添加到菜单的动作列表中并返回它。

9、QAction*addMenu(QMenu*menu)

将menu作为子菜单添加到此菜单。它返回菜单的menuAction()。此菜单不拥有menu的所有权。

QMenu*addMenu(constQString&title)\nQMenu*addMenu(constQIcon&icon,constQString&title)

将带有标题的新QMenu添加到菜单。此菜单拥有新菜单的所有权。返回添加的新菜单。

10、QAction*addSection(constQString&text)

QAction*addSection(constQIcon&icon,constQString&text)

创建一个带有QAction::isSeparator()返回true但也有文本提示\\图标的动作,并将新动作添加到这个菜单的动作列表中。返回新创建的动作。

QMenu拥有返回的QAction。

11、QAction*addSeparator()

创建一个新的分隔符动作,即一个QAction::isSeparator()返回true的动作,并将新操作添加到此菜单的操作列表中。返回新创建的动作。

返回所需的列数。如果菜单不适合屏幕,它会自行布置以使其适合(如折叠隐藏一部分菜单)。

14、QAction*defaultAction()/voidsetDefaultAction(QAction*act)

同步执行此菜单。这等效于exec(pos())。

这将在弹出菜单或其子菜单之一中返回触发的QAction,如果没有触发任何项目(通常是因为用户按下Esc),则返回nullptr。

在大多数情况下,需要自己指定位置,例如,当前鼠标位置:

exec(QCursor::pos());

或与小部件对齐:

exec(somewidget.mapToGlobal(QPoint(0,0)));

或响应QMouseEvent*e,对齐到事件发生时鼠标光标的全局位置:

exec(e->globalPosition().toPoint());\nQAction*exec(constQPoint&p,QAction*action=nullptr)

同步执行此菜单。

弹出菜单,使action在指定的全局位置p。要将小部件的本地坐标转换为全局坐标,请使用QWidget::mapToGlobal()。

【static】QAction*exec(constQList<QAction*>&actions,constQPoint&pos,QAction*at=nullptr,QWidget*parent=nullptr)

同步执行菜单。

菜单的动作由actions指定。将弹出菜单,以便指定的动作at出现在全局位置pos。如果未指定at,则菜单出现在位置pos。

该函数在弹出菜单或其子菜单之一中返回触发的QAction,如果没有触发任何项目(通常是因为用户按下Esc),则返回nullptr。

QMenumenu;\nQAction*at=actions[0];\nfor(QAction*a:qAsConst(actions))//使用qAsConst避免任何拷贝\nmenu.addAction(a);\nmenu.exec(pos,at);

16、voidinitStyleOption(QStyleOptionMenuItem*option,constQAction*action)

使用此菜单中的值和动作中的信息初始化选项。当子类需要一个QStyleOptionMenuItem但又不想自己填写所有信息时,此方法很有用。

17、QAction*insertMenu(QAction*before,QMenu*menu)

在before之前插入菜单并返回菜单menuAction()。

18、QAction*insertSection(QAction*before,constQString&text)

QAction*insertSection(QAction*before,constQIcon&icon,constQString&text)

创建了一个新的标题动作,即一个带有QAction::isSeparator()返回true但也有文本提示的动作。该函数将新创建的动作插入到此菜单的动作列表中,然后将其返回。

19、QAction*insertSeparator(QAction*before)

创建一个新的分隔符动作,即一个QAction::isSeparator()返回true的操作。该函数将新创建的动作插入到此菜单的动作列表中,然后将其返回。

22、voidpopup(constQPoint&p,QAction*atAction=nullptr)

显示菜单,以便动作atAction位于指定的全局位置p。要将小部件的本地坐标转换为全局坐标,请使用QWidget::mapToGlobal()。

通过选项单击应用程序停靠图标,将此菜单设置为可用的停靠菜单。仅在macOS上可用。

返回此菜单的本机NSMenu。仅在macOS上可用。

对话窗口是一个顶层窗口,主要用于短期任务和与用户的简短交流。QDialogs可以是模态的或非模态的。

QDialog(以及任何其他类型为Qt::Dialog的小部件)使用父小部件与Qt中的其他类略有不同。对话框始终是顶级小部件,但如果它有父级,则其默认位置位于父级顶级小部件的顶部(如果它本身不是顶级)。它还将共享父级的任务栏条目。

模态对话框是阻止输入到同一应用程序中其他可见窗口的对话框。用于向用户请求文件名或用于设置应用程序首选项的对话框通常是模态的。

当打开应用程序模态对话框时,用户必须完成与对话框的交互并关闭它,然后才能访问应用程序中的任何其他窗口。窗口模态对话框仅阻止访问与对话框关联的窗口,允许用户继续使用应用程序中的其他窗口。

显示模态对话框的最常见方法是调用其exec()函数。当用户关闭对话框时,exec()将提供一个有用的返回值。要关闭对话框并返回适当的值,必须连接一个默认按钮,例如accept()槽的OK按钮和reject()槽的Cancel按钮。或者,可以使用Accepted或Rejected调用done()槽。

另一种方法是调用setModal(true)或setWindowModality(),然后调用show()。与exec()不同,show()立即将控制权返回给调用者。调用setModal(true)对于进度对话框特别有用,其中用户必须具有与对话框交互的能力,例如取消长时间运行的操作。如果同时使用show()和setModal(true)执行长操作,则必须在处理过程中定期调用QCoreApplication::processEvents()以使用户能够与对话框进行交互。

非模态对话框是独立于同一应用程序中的其他窗口运行的对话框。

使用show()显示非模态对话框,它立即将控制权返回给调用者。

对话框的默认按钮是用户按下Enter(返回)时按下的按钮。此按钮用于表示用户接受对话框的设置并希望关闭对话框。使用QPushButton::setDefault()来设置和控制对话框的默认按钮。

如果用户在对话框中按下Esc键,r?eject()将被调用。这将导致窗口关闭:不能忽略关闭事件。

模态对话框通常用于需要返回值的情况,例如指示用户是按下确定还是取消。可以通过调用accept()或reject()槽来关闭对话框,并且exec()将根据需要返回Accepted或Rejected。exec()调用返回对话框的结果。如果对话框没有被销毁,结果也可以从result()中获得。

为了修改对话框的关闭行为,可以重新实现函数accept()、reject()或done()。closeEvent()函数只应重新实现以保留对话框的位置或覆盖标准关闭或拒绝行为。

voidEditorWindow::countWords()\n{\nWordCountDialogdialog(this);\ndialog.setWordCount(document().wordCount());\ndialog.exec();\n}

非模态对话框:

voidEditorWindow::find()\n{\nif(!findDialog){\nfindDialog=newFindDialog(this);\nconnect(findDialog,&FindDialog::findNext,this,&EditorWindow::findNext);\n}\n\nfindDialog->show();\nfindDialog->raise();\nfindDialog->activateWindow();\n}

二、类型成员

1、enumQDialog::DialogCode:模态对话框返回的值。

show()是否应以模态弹出对话框。

默认为false,并且show()将对话框弹出为无模态。将此属性设置为true等效于将QWidget::windowModality设置为Qt::ApplicationModal。

exec()忽略此属性的值并始终以模态弹出对话框。

是否启用大小把手。默认为false。

启用此属性时,QSizeGrip将放置在对话框的右下角。

1、QDialog(QWidget*parent=nullptr,Qt::WindowFlagsf=Qt::WindowFlags())

对话框始终是顶级小部件,但如果它有父级,则其默认位置位于父级的顶部。它还将共享父级的任务栏条目。

小部件标志f被传递给QWidget构造函数。

隐藏模式对话框并将结果代码设置为Accepted。

使用QDialog::Accepted参数调用accept()或done()接受对话框时,将发出此信号。

请注意,使用hide()或setVisible(false)隐藏对话框时不会发出此信号。

关闭对话框并将其结果代码设置为r。finished()信号将发出r;如果r是QDialog::Accepted或QDialog::Rejected,accepted()或denied()信号也将分别发出。

若此对话框与exec()一起显示,则done()也会导致本地事件循环完成,且exec()返回r。

如果设置了Qt::WA_DeleteOnClose标志,则done()会删除对话框。如果对话框是应用程序的主要小部件,则应用程序终止。如果对话框是最后一个关闭的窗口,则发出QGuiApplication::lastWindowClosed()信号。

将对话框显示为模态对话框,在用户关闭它之前一直处于阻塞状态。该函数返回一个DialogCode结果。

可见代码里面开启了一个事件循环。

当对话框有父级时应该应避免使用此功能,而是使用open()。与exec()不同,open()是异步的,并且可以防止发生一系列危险的错误(例如,在通过exec()打开对话框时删除对话框的父级)。使用open()时,可以连接到QDialog的finished()信号,以便在对话框关闭时得到通知。

QDialog*w=newQDialog(this);\nw->setAttribute(Qt::WA_DeleteOnClose);\nw->open();

当对话框没有父级时,使用open()没有模态效果。

6、【信号】voidfinished(intresult)

当用户或通过调用done()、accept()或reject()设置对话框的结果代码时,会发出此信号。

使用hide()或setVisible(false)隐藏对话框时不会发出此信号。

将对话框显示为窗口模式对话框,立即返回。

隐藏模式对话框并将结果代码设置为Rejected。

当对话框被用户拒绝或使用Rejected参数调用reject()或done()时,会发出此信号。

使用hide()或setVisible(false)隐藏对话框时不会发出此信号。

返回模态对话框的结果代码,Accepted或Rejected。

注意:如果对话框是使用Qt::WA_DeleteOnClose属性构造的,则不要调用此函数。

将模式对话框的结果代码设置为i。

【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】

点击这里:Qt资料领取(视频教程+文档+代码+项目实战)

原文链接:https://blog.csdn.net/kenfan1647/article/details/122902991

好了,关于menubar是什么意思、读音和QMenuBar、QMenu、QDialog的问题到这里结束啦,希望可以解决您的问题哈!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023