首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QShortcut不工作

QShortcut不工作
EN

Stack Overflow用户
提问于 2014-12-21 14:04:27
回答 1查看 2K关注 0票数 3

我的键盘快捷键似乎无法工作。以下是代码:

代码语言:javascript
复制
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;
}

我的主要职能是:

代码语言:javascript
复制
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“。我已经查过互联网了,但没有找到足够近的东西。如果我错过了一些相关的东西我很抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-21 14:17:12

Qt::Key_Enter指的是键盘上的键。如果您想在按键盘上的主回车键时调用插槽,您应该使用Qt::Key_Return

代码语言:javascript
复制
Interface::Interface() : 
    QObject(),
    shortcut(QKeySequence(Qt::Key_Return), &mainWidget)
{
    myWindow.setFixedSize(1200, 600);
    myWindow.setCentralWidget(&mainWidget);
    QObject::connect(&shortcut, SIGNAL(activated()), this, SLOT(haha()));
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27590083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档