C++ 在快捷方式编辑器文本框中阻止应用程序级快捷方式

C++ 在快捷方式编辑器文本框中阻止应用程序级快捷方式,c++,qt,shortcut,hotkeys,C++,Qt,Shortcut,Hotkeys,我需要让用户在我的应用程序的“首选项”对话框中更改应用程序中某些操作的键盘快捷键。我已将QLineEdit子类化,以创建一个接受组合键并显示组合键的控件(例如:如果用户按ctrl和I,line edit将显示ctrl+I) 如果我在“行编辑”中输入已存在的应用程序级操作的快捷方式,则“行编辑”不会接收该按键,而是触发相关操作。这种行为对我来说是可以接受的,但问题是,这种行为与某些特殊快捷键(如Ctrl+C、Ctrl+A等)不一致。如果我已将此类特殊快捷键指定给某些操作,并尝试为某些其他操作设置相

我需要让用户在我的应用程序的“首选项”对话框中更改应用程序中某些操作的键盘快捷键。我已将QLineEdit子类化,以创建一个接受组合键并显示组合键的控件(例如:如果用户按ctrl和I,line edit将显示ctrl+I)

如果我在“行编辑”中输入已存在的应用程序级操作的快捷方式,则“行编辑”不会接收该按键,而是触发相关操作。这种行为对我来说是可以接受的,但问题是,这种行为与某些特殊快捷键(如Ctrl+C、Ctrl+A等)不一致。如果我已将此类特殊快捷键指定给某些操作,并尝试为某些其他操作设置相同的快捷键,则行编辑会收到事件(与其他快捷键不同)之前分配的动作不会被触发


有人知道禁用应用程序级快捷方式的方法吗?这样我就可以在编辑行中接收事件并自己检查重复的快捷方式?或者,有人能提出一种方法来一致地处理用户输入其他快捷方式的现有快捷方式的情况吗?

您根本不应该为此使用
QLineEdit
Qt
有专门的小部件来完成此操作。它是
QKeySequenceEdit
。试试这个小部件