如何实现按下某按键时触发信号
如设计一个做选择题的程序,窗口内只有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最起码都得知道信号/槽了啊
--------------------编程问答--------------------
我不是说按下某个PushButton~~是按下某个键盘按键~~该用哪个对象的什么槽呢?还是要使用键盘事件? --------------------编程问答--------------------
我不是说按下某个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();
} --------------------编程问答--------------------
具我多年的经验,这个必须要使用键盘事件,或者安装事件处理器
事件处理器麻烦死了
所以还是使用键盘事件好了
补充:移动开发 , Qt