QT:键盘事件
来源:互联网 发布:京麦工作台和淘宝助理 编辑:程序博客网 时间:2024/05/22 06:25
键盘事件
QKeyEvent 按键按下
#include <QKeyEvent >
// 按键按下 slot
void QWidget::keyPressEvent (QKeyEvent * event) [virtual];
// 按键抬起 slot
void QWidget::keyReleaseEvent (QKeyEvent * event) [virtual];
int key () const; // 按键代码 return the code of the key,【enum Qt::Key】
QString text () const; // 按键文本
quint32 nativeScanCode () const; // 扫描键码
quint32 nativeVirtualKey() const; // 虚拟键码 <---> ASCII码
QKeyEvent 按键按下
#include <QKeyEvent >
// 按键按下 slot
void QWidget::keyPressEvent (QKeyEvent * event) [virtual];
// 按键抬起 slot
void QWidget::keyReleaseEvent (QKeyEvent * event) [virtual];
int key () const; // 按键代码 return the code of the key,【enum Qt::Key】
QString text () const; // 按键文本
quint32 nativeScanCode () const; // 扫描键码
quint32 nativeVirtualKey() const; // 虚拟键码 <---> ASCII码
《案例》按键测试
工程名:Keyboard
类名:KeyboardDialog
/* 按键测试 - 代码演示 */
// KeyboardDialog.h#include "KeyboardDialog.h"#include "ui_KeyboardDialog.h"KeyboardDialog::KeyboardDialog(QWidget *parent) : QDialog(parent), ui(new Ui::KeyboardDialog){ ui->setupUi(this);}KeyboardDialog::~KeyboardDialog(){ delete ui;}void KeyboardDialog::keyPressEvent (QKeyEvent * event) { printKeyEvent ("按下", event);}void KeyboardDialog::keyReleaseEvent (QKeyEvent * event) { printKeyEvent ("抬起", event);}// 打印按键信息void KeyboardDialog::printKeyEvent (const QString& strAction, QKeyEvent* event) { qDebug () << strAction; qDebug ("按键代码:%d", event->key ()); qDebug ("扫描键码:%d", event->nativeScanCode ()); qDebug ("虚拟键码:%d", event->nativeVirtualKey ()); qDebug () << event->text (); // 按键文本(功能键无文本值)}
// KeyboardDialog.cpp#ifndef KEYBOARDDIALOG_H#define KEYBOARDDIALOG_H#include <QDialog>#include <QKeyEvent>#include <QDebug>namespace Ui {class KeyboardDialog;}class KeyboardDialog : public QDialog{ Q_OBJECTpublic: explicit KeyboardDialog(QWidget *parent = 0); ~KeyboardDialog();private: void keyPressEvent (QKeyEvent *); void keyReleaseEvent (QKeyEvent *); // 打印按键信息 void printKeyEvent (const QString& strAction, QKeyEvent* event);private: Ui::KeyboardDialog *ui;};#endif // KEYBOARDDIALOG_H
// main.cpp#include "KeyboardDialog.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); KeyboardDialog w; w.show(); return a.exec();}
0 0
- Qt中的键盘事件
- Qt中的键盘事件
- Qt键盘事件
- Qt中的键盘事件
- Qt键盘事件
- Qt键盘事件
- Qt键盘事件
- qt 键盘事件......
- Qt键盘事件
- Qt键盘事件
- Qt中的键盘事件
- Qt中的键盘事件
- Qt键盘事件
- Qt修改键盘事件
- Qt键盘事件 ESC
- Qt键盘事件
- qt鼠标 键盘事件
- qt响应键盘事件
- The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class fi
- QT:鼠标事件
- MySql--函数
- 93. Restore IP Addresses
- DownloadManager
- QT:键盘事件
- ResourcesManager
- QT:SQLite数据库 '增、删、改、查'
- UIManager
- QT:在Qt中使用SQLite数据库
- UIBase
- greenDAO 3.2 初探
- LoginPanel
- 最大K乘积