作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我似乎无法使用我的键盘快捷键。这是代码:
class Interface : public QObject
{
Q_OBJECT
private:
QMainWindow myWindow;
QWidget mainWidget;
QShortcut shortcut;
public:
Interface();
~Interface();
void show(void);
public slots:
void haha(void);
};
Interface::Interface() :
QObject(),
shortcut(QKeySequence(Qt::Key_Enter), &mainWidget)
{
myWindow.setFixedSize(1200, 600);
myWindow.setCentralWidget(&mainWidget);
QObject::connect(&shortcut, SIGNAL(activated()), this, SLOT(haha()));
}
void Interface::show(void)
{
myWindow.show();
}
void Interface::haha(void)
{
std::cout << "foo" << std::endl;
}
我的主要功能是:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
Interface myInterface;
myInterface.Show();
return app.exec();
}
它编译时没有任何警告/错误,但是当我执行它时,当我按 Enter 时没有打印“foo”。我已经在网上查过了,但我没有找到足够接近的东西。如果我错过了相关内容,我很抱歉。
最佳答案
Qt::Key_Enter
指的是键盘上的键。如果您希望在按下键盘上的主 Enter 键时调用槽,则应使用 Qt::Key_Return
:
Interface::Interface() :
QObject(),
shortcut(QKeySequence(Qt::Key_Return), &mainWidget)
{
myWindow.setFixedSize(1200, 600);
myWindow.setCentralWidget(&mainWidget);
QObject::connect(&shortcut, SIGNAL(activated()), this, SLOT(haha()));
}
关于c++ - QShortcut 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590083/
我似乎无法使用我的键盘快捷键。这是代码: class Interface : public QObject { Q_OBJECT private: QMainWindow my
QShortcut可以轻松地将 QShortcutEvent(按键、组合或序列)连接到插槽方法,例如: QShortcut *shortcut = new QShortcut( QKeySequenc
是否可以在控制台 QCoreApplication 中使用 QShortcut?我没有任何 QWidget 对象要传递给 QShortcut 的构造函数,我希望在用户按下某个键并且控制台窗口具有焦点时
我正在尝试将多个快捷方式连接到一个插槽,以便获取它们的键值并将其附加到一个变量。类似文本输入的东西,所以我做这样的事情: button_1 = new QShortcut::QShortcut(QKe
我是一名优秀的程序员,十分优秀!