C++ 哪个类应该处理快捷方式?

C++ 哪个类应该处理快捷方式?,c++,qt,keyboard-shortcuts,C++,Qt,Keyboard Shortcuts,我正在编写一个简单的文本编辑器,只有几个基本功能。 目前,它有一个QMainWindow,其中QTabWidget设置为centralWidget。 我现在实施的是一些捷径ctrl+s保存,ctrl+o打开,ctrl+t/ctrl+w创建新选项卡/关闭当前选项卡 我知道如何实现所有功能,但问题是在哪里实现这些功能? 所有的快捷方式都应该是QMainWindow的成员,并让它处理所有的事情,还是我应该尝试将快捷方式分离到它们相应的代码类中? 例如,创建新选项卡(ctrl+t)将是QTabWidge

我正在编写一个简单的文本编辑器,只有几个基本功能。 目前,它有一个
QMainWindow
,其中
QTabWidget
设置为
centralWidget
。 我现在实施的是一些捷径
ctrl+s
保存,
ctrl+o
打开,
ctrl+t/ctrl+w
创建新选项卡/关闭当前选项卡

我知道如何实现所有功能,但问题是在哪里实现这些功能? 所有的快捷方式都应该是
QMainWindow
的成员,并让它处理所有的事情,还是我应该尝试将快捷方式分离到它们相应的代码类中? 例如,创建新选项卡(
ctrl+t
)将是
QTabWidget
的一部分。 现在如何处理
ctrl+s
(保存,duh),它应该是
QTextEdit
的一部分,因为它是我正在保存的文本,还是


基本上我的程序包含三个类
QMainWindow
,其中包含
QTabWidget
,每个选项卡都是
QTextEdit

,您的设置听起来很像我构建的许多应用程序

我通常通过这个方法来处理快捷方式,所以实际上更多的是关于在哪里存储
QAction
对象才有意义。这通常是我的MainWindow类,因为许多操作都在MainWindw的菜单中使用。当触发这些操作时,结果通常是TabWidget收到通知,而TabWidget又会通知所有必要的选项卡,并且可以处理“全部关闭”操作之类的事情,只触发一个保存提示

但是,如果将这些
QAction
s存储在MainWindow对象上没有意义,那么我就不会这样做,就像我通常在各个选项卡上提供的上下文菜单一样

希望这会有帮助。

这不完全是我想要的,但它帮助我意识到我需要什么^^^谢谢,现在一切都解决了!