当前位置:编程学习 > wap >>

如何实现按下某按键时触发信号

如设计一个做选择题的程序,窗口内只有QLabel,如何实现按下某一按键时触发信号,并将与按键相关的信息传给特定的槽 --------------------编程问答-------------------- 这个。。。太基础了吧
我都不知道怎么回复了
--------------------编程问答-------------------- connect(XXX, SIGNAL(triggered(), XXXX, SLOT());

可以在槽函数中通过sender()获得发送的对象 --------------------编程问答-------------------- connect(ui->IDC_BTN_GENGIN, SIGNAL(clicked()), this, SLOT(OnBnClickedBtnBengin()));

IDC_BTN_GENGIN是控件名,OnBnClickedBtnBengin()是槽函数

类里的定义:
private slots:
void OnBnClickedBtnBengin() --------------------编程问答-------------------- 你只要随便看点qt的教材就能知道。不要一有问题就拿出来问,第一,你失去了学习和思考的机会;第二,浪费了别人的时间。 --------------------编程问答-------------------- 我也不知道怎么回复了,这只要走进Qt最起码都得知道信号/槽了啊
引用 1 楼 openXMPP 的回复:
这个。。。太基础了吧
我都不知道怎么回复了
--------------------编程问答--------------------
引用 4 楼 fsx92 的回复:
你只要随便看点qt的教材就能知道。不要一有问题就拿出来问,第一,你失去了学习和思考的机会;第二,浪费了别人的时间。

我不是说按下某个PushButton~~是按下某个键盘按键~~该用哪个对象的什么槽呢?还是要使用键盘事件? --------------------编程问答--------------------
引用 5 楼 yuan8222 的回复:
我也不知道怎么回复了,这只要走进Qt最起码都得知道信号/槽了啊
引用 1 楼 openXMPP 的回复:这个。。。太基础了吧
我都不知道怎么回复了

我不是说按下某个PushButton~~Widget里可以没有任何其他对象~~是按下某个键盘按键~~该用哪个对象的什么槽呢?还是要使用键盘事件? --------------------编程问答-------------------- 重写你的键盘事件函数。
类似下面这样的代码:
void DisplayLabel::keyPressEvent(QKeyEvent *ev)
{
    if (!_isAvailable)
        return;

    if (ev->key() == Qt::Key_Escape)
        this->close();
    else if (ev->key() == Qt::Key_Right)
    {
        if (count > 0)
             m_grade++;
       this->display();
    }
    else if (ev->key() == Qt::Key_Return)
        this->display();
} --------------------编程问答--------------------
引用 7 楼 liyuanhe211 的回复:
引用 5 楼 yuan8222 的回复:我也不知道怎么回复了,这只要走进Qt最起码都得知道信号/槽了啊
引用 1 楼 openXMPP 的回复:这个。。。太基础了吧
我都不知道怎么回复了
我不是说按下某个PushButton~~Widget里可以没有任何其他对象~~是按下某个键盘按键~~该用哪个对象的什么槽呢?还是要使用键盘事件?



具我多年的经验,这个必须要使用键盘事件,或者安装事件处理器
事件处理器麻烦死了

所以还是使用键盘事件好了
补充:移动开发 ,  Qt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,