Qt君


  • 首页

  • 关于

  • 归档

  • 搜索

Qt之connect接口初体验

发表于 2019-03-07

本文主要介绍Qt的connect接口

Qt4版本接口

  • sender为信号发送者;
  • receiver为槽接收者;
  • 使用字符串作为信号槽,使用灵活,但对新手不友好,不能再编译期检查,容易在运行中出错。
    1
    2
    3
    connect(const QObject *sender, const char *signal, 
    const QObject *receiver, const char *method,
    Qt::ConnectionType type = Qt::AutoConnection)

Qt5版本新增接口

  • sender为信号发送者;
  • receiver为槽接收者;
  • 使用强类型作为信号槽参数,能在编译期检查错误,提高容错性。
    1
    2
    3
    connect(const QObject *sender, const QMetaMethod &signal, 
    const QObject *receiver, const QMetaMethod &method,
    Qt::ConnectionType type = Qt::AutoConnection)

连接属性

ConnectionType 含义
Qt::AutoConnection (默认)如果接收器位于发出信号的线程中,则使用Qt::DirectConnection。否则,将使用Qt::QueuedConnection。连接类型是在发出信号时确定的。
Qt::DirectConnection (直接连接)当信号发出时,立即调用插槽。槽在信号线程中执行。
Qt::QueuedConnection (队列连接)当控件返回到接收器线程的事件循环时,将调用槽。槽在接收器线程中执行。
Qt::BlockingQueuedConnection (阻塞队列连接)与Qt::QueuedConnection相同,只是信号线程会一直阻塞,直到槽返回。如果接收器位于信号线程中,则不得使用此连接,否则应用程序将死锁。
Qt::UniqueConnection (单一连接)相同信号连接则只会连接第一次

关于更多

  • 文章首发于微信公众号你才小学生(nicaixiaoxuesheng)
  • 后续更新于Qtbig哥(qtbig.com)

C/C++黑魔法-自动关闭文件描述符

发表于 2019-03-07

利用宏与for循环特性自动关闭文件描述符,用来避免用户经常忘记关闭文件描述符的问题。

Open宏定义

1
2
3
#define Open(...) \
for (int _fd = open(__VA_ARGS__), _i = 1; _i; _i--, _fd >= 0 && close(_fd)) \
if (_fd >= 0)

用法

1
2
3
4
5
6
Open("test.txt", O_RDONLY) {
printf("Success!!!\n");
}
else {
printf("Failed!!!\n");
}

源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <fcntl.h>

#define Open(...) \
for (int _fd = open(__VA_ARGS__), _i = 1; _i; _i--, _fd >= 0 && close(_fd)) \
if (_fd >= 0)

int main(int argc, char *argv[])
{
Open("test.txt", O_RDONLY) {
printf("Success!!!\n");
}
else {
printf("Failed!!!\n");
}

return 0;
}

QtCreator常用快捷键

发表于 2019-03-06

介绍QtCreator软件的常用快捷键

单键快捷键

快捷键 含义
F1 打开帮助手册
F2 在声明与实现之间切换
F5 打开调试
F9 设置和取消断点
F10 单步前进
F11 单步进入函数
Esc 切换到编辑模式或隐藏程序输出框

Shift组合快捷键

快捷键 含义
Shift+F5 停止调试
Shift+F11 单步跳出函数

Ctrl组合快捷键

快捷键 含义
Ctrl+鼠标左键 同F2快捷键功能相同
Ctrl+a 全选内容
Ctrl+b 编译程序
Ctrl+c 复制
Ctrl+f 打开当前页面搜索框
Ctrl+i 代码自动对齐
Ctrl+r 运行程序
Ctrl+s 保存当前页面文件内容
Ctrl+a+s 保存所有文件内容
Ctrl+Tab 快速切换已打开的文件
Ctrl+v 粘贴
Ctrl+x 剪切
Ctrl+z 撤销一次编辑(可多次撤销)
Ctrl+Shift+z 取消一次撤销编辑
Ctrl+Shift+f 打开全局搜索框
Ctrl+鼠标滚轮 快速缩放代码
Ctrl+/ 快速注释或取消注释
Ctrl+a+/ 将当前页面注释或取消注释

鼠标组合快捷键

快捷键 含义
鼠标选中代码+Tab 代码右缩进(可多次Tab右缩进)
鼠标选中代码+Shift+Tab 代码左缩进(可多次Tab左缩进)

C/C++黑魔法-神奇蝌蚪运算符

发表于 2019-03-04

C/C++存在一种神奇的生物-蝌蚪.蝌蚪(运算符)游向该变量自动加1,游离则自动减1.

语法

  • ~当成蝌蚪头,-当成蝌蚪尾
语法 示例 游向 含义
-~ -~i 向右游向 变量i+1
~- ~-i 向左游离 变量i-1

原理

  • 蝌蚪运算符符合标准语法;
  • ~为按位取反运算符,而-为负号运算符;
  • 比如:
蝌蚪表达式 分解 结果
-~1 -(-2) 2
~-1 ~(-1) 0

运行示例

1
2
3
4
5
6
7
8
9
#include <stdio.h>

int main(int argc, char *argv[])
{
printf("%d\n", -~1);
printf("%d\n", ~-1);

return 0;
}

输出

1
2
2
0

关于更多

  • 文章首发于微信公众号你才小学生(nicaixiaoxuesheng)
  • 后续更新于Qtbig哥(qtbig.com)

Qml的Slider控件示例

发表于 2019-03-04

通过自定义样式美化Slider

  • 起始值0处标识同心圆;
  • 拖动动画变化颜色;
  • 气泡显示数值.

SliderSample

示例源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import QtQuick 2.0
import "../" as My

Rectangle {
width: 320; height: 240

Row {
anchors.centerIn: parent
spacing: 20

Column {
spacing: 50
/* handle is rectangle */

Repeater {

model: ["red", "blue", "green"]

My.Slider {
id: slider
to: 100

handle: Item {
width: 14
height: width

Rectangle {
width: 14
height: width
radius: width/2
color: slider.position === 0 ? "#d5d5d5" : modelData
anchors.verticalCenter: parent.verticalCenter

NumberAnimation on width { running: slider.pressed; from: 14; to: 20; duration: 100 }
NumberAnimation on width { running: !slider.pressed; from: 20; to: 14; duration: 100 }

Rectangle {
anchors.centerIn: parent
width: 10; height: width
radius: width/2
visible: slider.position === 0
color: "white"

NumberAnimation on width { running: slider.pressed; from: 10; to: 14; duration: 100 }
NumberAnimation on width { running: !slider.pressed; from: 14; to: 10; duration: 100 }
}

Image {
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.top
width: 0; height: width
smooth: true
source: "./" + modelData + "_64_64.svg"

NumberAnimation on width { running: slider.pressed; from: 0; to: 48; duration: 100 }
NumberAnimation on width { running: !slider.pressed; from: 48; to: 0; duration: 100 }

Text {
visible: slider.pressed
anchors.centerIn: parent
color: "white"
text: parseInt(slider.position * slider.to)
}
}
}
}

background: Rectangle {
width: 200
height: 2
radius: 2
color: "#d5d5d5"

/* available rectangle */
Rectangle {
width: slider.position*parent.width
height: parent.height
radius: parent.radius
color: modelData
}
}
}
}
}
}
}

源码地址

1
https://github.com/QtComponent/Slider.git

C/C++黑魔法-利用include宏读文件

发表于 2019-03-04

本文介绍使用include宏读取文件内容并打印出来.

include宏

  • C/C++中包含头文件命令,用于将指定头文件嵌入源文件中;
  • 这里使用的include宏时将string.txt文件内容嵌入string字符串数组.

示例

  • test.c文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>

    int main(int argc, char *argv[])
    {
    const char *string = {
    #include "string.txt" // 使用include宏读取string.txt文件内容到string字符串中
    };

    printf("%s\n", string); //输出: Hello World!!!
    return 0;
    }
  • string.txt文件

    1
    "Hello World!!!"

关于更多

  • 文章首发于微信公众号你才小学生(nicaixiaoxuesheng)
  • 后续更新于Qtbig哥(qtbig.com)

C/C++趋向运算符

发表于 2019-03-03

趋向运算符主要由-->或<--组成,让一个变量趋向于某个值.

每次递减1的趋向运算符(1)

  • i --> 0趋向于零
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>

    int main(int argc, char *argv[])
    {
    int i = 10;

    while (i --> 0) {
    printf("%d ", i);
    }

    return 0;
    }
阅读全文 »

c++作用域解析运算符(::)

发表于 2019-03-02

域名::函数或类型定义

  • 表示定义某个域的函数或类型;
  • Test::Test()引用Test类的Test()构造函数;
  • 例:
    1
    2
    3
    4
    5
    6
    7
    class Test {
    Test();
    };

    Test::Test()
    {
    }

::函数或类型调用

  • 表示调用全局的函数或类型;
  • ::value引用全局变量;
  • 例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iostream>

    using namespace std;

    int value = 1;

    int main(int argc, char *argv[])
    {
    int value = 10;

    cout<<::value<<endl;
    cout<<value<<endl;
    return 0;
    }

Qt键值对照表

发表于 2019-03-02
枚举值 键值 备注
Key_Escape 0x01000000 Esc键(左上角)
Key_Tab 0x01000001 Tab键(制表键)
Key_Backtab 0x01000002 Shift+Tab
Key_BackTab Key_Backtab 与Key_Backtab键值相同,但在Qt3版本使用
Key_Backspace 0x01000003 退格(回格)
Key_BackSpace Key_Backspace 与Key_Backspace键值相同,但在Qt3版本使用
Key_Return 0x01000004 字母键盘回车
Key_Enter 0x01000005 数字键盘回车
Key_Insert 0x01000006 插入
Key_Delete 0x01000007 删除
Key_Pause 0x01000008 暂停中断
Key_Print 0x01000009 打印
Key_SysReq 0x0100000a 系统请求键
Key_Clear 0x0100000b 清除
Key_Home 0x01000010 光标移动到起始值
Key_End 0x01000011 结束
Key_Left 0x01000012 左键
Key_Up 0x01000013 上键
Key_Right 0x01000014 右键
Key_Down 0x01000015 下键
Key_PageUp 0x01000016 上页
Key_Prior Key_PageUp 与Key_PageUp键值相同,但在Qt3版本使用
Key_PageDown 0x01000017 下页
Key_Next Key_PageDown 与Key_PageDown键值相同,但在Qt3版本使用
Key_Shift 0x01000020 上档(调节器),通常用于组合按键使用
Key_Control 0x01000021 控制键,通常用于组合按键使用
Key_Meta 0x01000022 变换按键,现代计算机键盘一般无此键,此键通常用Alt键或者Windows键仿真
Key_Alt 0x01000023 替换键,通常用于组合按键使用
Key_CapsLock 0x01000024 大写锁定
Key_NumLock 0x01000025 数码锁定
Key_ScrollLock 0x01000026 滚动锁定
Key_F1 0x01000030 功能键F1
Key_F2 0x01000031 功能键F2
Key_F3 0x01000032 功能键F3
Key_F4 0x01000033 功能键F4
Key_F5 0x01000034 功能键F5
Key_F6 0x01000035 功能键F6
Key_F7 0x01000036 功能键F7
Key_F8 0x01000037 功能键F8
Key_F9 0x01000038 功能键F9
Key_F10 0x01000039 功能键F10
Key_F11 0x0100003a 功能键F11
Key_F12 0x0100003b 功能键F12
Key_F13 0x0100003c 功能键F13
Key_F14 0x0100003d 功能键F14
Key_F15 0x0100003e 功能键F15
Key_F16 0x0100003f 功能键F16
Key_F17 0x01000040 功能键F17
Key_F18 0x01000041 功能键F18
Key_F19 0x01000042 功能键F19
Key_F20 0x01000043 功能键F20
Key_F21 0x01000044 功能键F21
Key_F22 0x01000045 功能键F22
Key_F23 0x01000046 功能键F23
Key_F24 0x01000047 功能键F24
Key_F25 0x01000048 功能键F25(X11系统独有)
Key_F26 0x01000049 功能键F26(X11系统独有)
Key_F27 0x0100004a 功能键F27(X11系统独有)
Key_F28 0x0100004b 功能键F28(X11系统独有)
Key_F29 0x0100004c 功能键F29(X11系统独有)
Key_F30 0x0100004d 功能键F30(X11系统独有)
Key_F31 0x0100004e 功能键F31(X11系统独有)
Key_F32 0x0100004f 功能键F32(X11系统独有)
Key_F33 0x01000050 功能键F33(X11系统独有)
Key_F34 0x01000051 功能键F34(X11系统独有)
Key_F35 0x01000052 功能键F35(X11系统独有)
Key_Super_L 0x01000053 左超级按键(Window系统下左边键盘徽标)
Key_Super_R 0x01000054 右超级按键(Window系统下右边键盘徽标)
Key_Menu 0x01000055 菜单
Key_Hyper_L 0x01000056 左Hyper按键
Key_Hyper_R 0x01000057 右Hyper按键
Key_Help 0x01000058 帮助
Key_Direction_L 0x01000059 左方向按键
Key_Direction_R 0x01000060 右方向按键
Key_Space 0x20 空格键(7位可打印ASCII)
Key_Any Key_Space 与Key_Space键值相同,但在Qt3版本使用
Key_Exclam 0x21 !
Key_QuoteDbl 0x22 \
Key_NumberSign 0x23 #
Key_Dollar 0x24 $
Key_Percent 0x25 %
Key_Ampersand 0x26 &
Key_Apostrophe 0x27 ‘
Key_ParenLeft 0x28 (
Key_ParenRight 0x29 )
Key_Asterisk 0x2a *
Key_Plus 0x2b +
Key_Comma 0x2c ,
Key_Minus 0x2d -
Key_Period 0x2e .
Key_Slash 0x2f /
Key_0 0x30 0
Key_1 0x31 1
Key_2 0x32 2
Key_3 0x33 3
Key_4 0x34 4
Key_5 0x35 5
Key_6 0x36 6
Key_7 0x37 7
Key_8 0x38 8
Key_9 0x39 9
Key_Colon 0x3a :
Key_Semicolon 0x3b ;
Key_Less 0x3c <
Key_Equal 0x3d =
Key_Greater 0x3e >
Key_Question 0x3f ?
Key_At 0x40 @
Key_A 0x41 A
Key_B 0x42 B
Key_C 0x43 C
Key_D 0x44 D
Key_E 0x45 E
Key_F 0x46 F
Key_G 0x47 G
Key_H 0x48 H
Key_I 0x49 I
Key_J 0x4a J
Key_K 0x4b K
Key_L 0x4c L
Key_M 0x4d M
Key_N 0x4e N
Key_O 0x4f O
Key_P 0x50 P
Key_Q 0x51 Q
Key_R 0x52 R
Key_S 0x53 S
Key_T 0x54 T
Key_U 0x55 U
Key_V 0x56 V
Key_W 0x57 W
Key_X 0x58 X
Key_Y 0x59 Y
Key_Z 0x5a Z
Key_BracketLeft 0x5b [
Key_Backslash 0x5c \
Key_BracketRight 0x5d ]
Key_AsciiCircum 0x5e ^
Key_Underscore 0x5f _
Key_QuoteLeft 0x60 `
Key_BraceLeft 0x7b {
Key_Bar 0x7c \
Key_BraceRight 0x7d }
Key_AsciiTilde 0x7e ~
Key_nobreakspace 0x0a0 不间断空格
Key_exclamdown 0x0a1 €
Key_cent 0x0a2
Key_sterling 0x0a3 英国货币;标准纯银;英镑
Key_currency 0x0a4 货币
Key_yen 0x0a5 日元
Key_brokenbar 0x0a6 间断条(仅供参考)
Key_section 0x0a7 分区(仅供参考)
Key_diaeresis 0x0a8 分音符(仅供参考)
Key_copyright 0x0a9 版权(仅供参考)
Key_ordfeminine 0x0aa 女性(仅供参考)
Key_guillemotleft 0x0ab 左引号
Key_notsign 0x0ac 告示牌(仅供参考)
Key_hyphen 0x0ad 连字号(仅供参考)
Key_registered 0x0ae 注册(仅供参考)
Key_macron 0x0af 长音符号(加于元音上)(仅供参考)
Key_degree 0x0b0 度数(仅供参考)
Key_plusminus 0x0b1 加减符(仅供参考)
Key_twosuperior 0x0b2 两个优势(仅供参考)
Key_threesuperior 0x0b3 三个优势(仅供参考)
Key_acute 0x0b4 加剧(仅供参考)
Key_mu 0x0b5 希腊字母第12字(仅供参考)
Key_paragraph 0x0b6 段落;分段符号(仅供参考)
Key_periodcentered 0x0b7 有圆心的句号”.”(仅供参考)
Key_cedilla 0x0b8 变音符号(仅供参考)
Key_onesuperior 0x0b9 一个优势(仅供参考)
Key_masculine 0x0ba 男性(仅供参考)
Key_guillemotright 0x0bb 直角引号(仅供参考)
Key_onequarter 0x0bc 四分之一(仅供参考)
Key_onehalf 0x0bd 二分之一(仅供参考)
Key_threequarters 0x0be 四分之三(仅供参考)
Key_questiondown 0x0bf 下一个问题(仅供参考)
Key_Agrave 0x0c0
Key_Aacute 0x0c1
Key_Acircumflex 0x0c2
Key_Atilde 0x0c3
Key_Adiaeresis 0x0c4
Key_Aring 0x0c5
Key_AE 0x0c6
Key_Ccedilla 0x0c7
Key_Egrave 0x0c8
Key_Eacute 0x0c9
Key_Ecircumflex 0x0ca
Key_Ediaeresis 0x0cb
Key_Igrave 0x0cc
Key_Iacute 0x0cd
Key_Icircumflex 0x0ce
Key_Idiaeresis 0x0cf
Key_ETH 0x0d0
Key_Ntilde 0x0d1
Key_Ograve 0x0d2
Key_Oacute 0x0d3
Key_Ocircumflex 0x0d4
Key_Otilde 0x0d5
Key_Odiaeresis 0x0d6
Key_multiply 0x0d7
Key_Ooblique 0x0d8
Key_Ugrave 0x0d9
Key_Uacute 0x0da
Key_Ucircumflex 0x0db
Key_Udiaeresis 0x0dc
Key_Yacute 0x0dd
Key_THORN 0x0de
Key_ssharp 0x0df
Key_agrave Key_Agrave
Key_aacute Key_Aacute
Key_acircumflex Key_Acircumflex
Key_atilde Key_Atilde
Key_adiaeresis Key_Adiaeresis
Key_aring Key_Aring
Key_ae Key_AE
Key_ccedilla Key_Ccedilla
Key_egrave Key_Egrave
Key_eacute Key_Eacute
Key_ecircumflex Key_Ecircumflex
Key_ediaeresis Key_Ediaeresis
Key_igrave Key_Igrave
Key_iacute Key_Iacute
Key_icircumflex Key_Icircumflex
Key_idiaeresis Key_Idiaeresis
Key_eth Key_ETH
Key_ntilde Key_Ntilde
Key_ograve Key_Ograve
Key_oacute Key_Oacute
Key_ocircumflex Key_Ocircumflex
Key_otilde Key_Otilde
Key_odiaeresis Key_Odiaeresis
Key_division 0x0f7
Key_oslash Key_Ooblique
Key_ugrave Key_Ugrave
Key_uacute Key_Uacute
Key_ucircumflex Key_Ucircumflex
Key_udiaeresis Key_Udiaeresis
Key_yacute Key_Yacute
Key_thorn Key_THORN
Key_ydiaeresis 0x0ff
// International input method support (X keycode - 0xEE00, the definition follows Qt/Embedded 2.3.7) Only interesting if you are writing your own input method. International & multi-key character composition
Key_AltGr 0x01001103
Key_Multi_key 0x01001120 Multi-key character compose
Key_Codeinput 0x01001137
Key_SingleCandidate 0x0100113c
Key_MultipleCandidate 0x0100113d
Key_PreviousCandidate 0x0100113e
// Misc Functions
Key_Mode_switch 0x0100117e Character set switch
// Key_script_switch = 0x0100117e, // Alias for mode_switch
// Japanese keyboard support
Key_Kanji 0x01001121 Kanji, Kanji convert
Key_Muhenkan 0x01001122 Cancel Conversion
// Key_Henkan_Mode = 0x01001123, // Start/Stop Conversion
Key_Henkan 0x01001123 Alias for Henkan_Mode
Key_Romaji 0x01001124 to Romaji
Key_Hiragana 0x01001125 to Hiragana
Key_Katakana 0x01001126 to Katakana
Key_Hiragana_Katakana 0x01001127 Hiragana/Katakana toggle
Key_Zenkaku 0x01001128 to Zenkaku
Key_Hankaku 0x01001129 to Hankaku
Key_Zenkaku_Hankaku 0x0100112a Zenkaku/Hankaku toggle
Key_Touroku 0x0100112b Add to Dictionary
Key_Massyo 0x0100112c Delete from Dictionary
Key_Kana_Lock 0x0100112d Kana Lock
Key_Kana_Shift 0x0100112e Kana Shift
Key_Eisu_Shift 0x0100112f Alphanumeric Shift
Key_Eisu_toggle 0x01001130 Alphanumeric toggle
//Key_Kanji_Bangou = 0x01001137, // Codeinput
//Key_Zen_Koho = 0x0100113d, // Multiple/All Candidate(s)
//Key_Mae_Koho = 0x0100113e, // Previous Candidate
// Korean keyboard support
// In fact, many Korean users need only 2 keys, Key_Hangul and
// Key_Hangul_Hanja. But rest of the keys are good for future.
Key_Hangul 0x01001131 Hangul start/stop(toggle)
Key_Hangul_Start 0x01001132 Hangul start
Key_Hangul_End 0x01001133 Hangul end, English start
Key_Hangul_Hanja 0x01001134 Start Hangul->Hanja Conversion
Key_Hangul_Jamo 0x01001135 Hangul Jamo mode
Key_Hangul_Romaja 0x01001136 Hangul Romaja mode
//Key_Hangul_Codeinput 0x01001137, // Hangul code input mode
Key_Hangul_Jeonja 0x01001138 Jeonja mode
Key_Hangul_Banja 0x01001139 Banja mode
Key_Hangul_PreHanja 0x0100113a Pre Hanja conversion
Key_Hangul_PostHanja 0x0100113b Post Hanja conversion
//Key_Hangul_SingleCandidate = 0x0100113c, // Single candidate
//Key_Hangul_MultipleCandidate = 0x0100113d, // Multiple candidate
//Key_Hangul_PreviousCandidate = 0x0100113e, // Previous candidate
Key_Hangul_Special 0x0100113f Special symbols
//Key_Hangul_switch = 0x0100117e, // Alias for mode_switch
// dead keys (X keycode - 0xED00 to avoid the conflict)
Key_Dead_Grave 0x01001250
Key_Dead_Acute 0x01001251
Key_Dead_Circumflex 0x01001252
Key_Dead_Tilde 0x01001253
Key_Dead_Macron 0x01001254
Key_Dead_Breve 0x01001255
Key_Dead_Abovedot 0x01001256
Key_Dead_Diaeresis 0x01001257
Key_Dead_Abovering 0x01001258
Key_Dead_Doubleacute 0x01001259
Key_Dead_Caron 0x0100125a
Key_Dead_Cedilla 0x0100125b
Key_Dead_Ogonek 0x0100125c
Key_Dead_Iota 0x0100125d
Key_Dead_Voiced_Sound 0x0100125e
Key_Dead_Semivoiced_Sound 0x0100125f
Key_Dead_Belowdot 0x01001260
Key_Dead_Hook 0x01001261
Key_Dead_Horn 0x01001262
// multimedia/internet keys - ignored by default - see QKeyEvent c’tor
Key_Back 0x01000061
Key_Forward 0x01000062
Key_Stop 0x01000063
Key_Refresh 0x01000064
Key_VolumeDown 0x01000070
Key_VolumeMute 0x01000071
Key_VolumeUp 0x01000072
Key_BassBoost 0x01000073
Key_BassUp 0x01000074
Key_BassDown 0x01000075
Key_TrebleUp 0x01000076
Key_TrebleDown 0x01000077
Key_MediaPlay 0x01000080
Key_MediaStop 0x01000081
Key_MediaPrevious 0x01000082
Key_MediaPrev Key_MediaPrevious
Key_MediaNext 0x01000083
Key_MediaRecord 0x01000084
Key_MediaPause 0x1000085
Key_MediaTogglePlayPause 0x1000086
Key_HomePage 0x01000090
Key_Favorites 0x01000091
Key_Search 0x01000092
Key_Standby 0x01000093
Key_OpenUrl 0x01000094
Key_LaunchMail 0x010000a0
Key_LaunchMedia 0x010000a1
Key_Launch0 0x010000a2
Key_Launch1 0x010000a3
Key_Launch2 0x010000a4
Key_Launch3 0x010000a5
Key_Launch4 0x010000a6
Key_Launch5 0x010000a7
Key_Launch6 0x010000a8
Key_Launch7 0x010000a9
Key_Launch8 0x010000aa
Key_Launch9 0x010000ab
Key_LaunchA 0x010000ac
Key_LaunchB 0x010000ad
Key_LaunchC 0x010000ae
Key_LaunchD 0x010000af
Key_LaunchE 0x010000b0
Key_LaunchF 0x010000b1
Key_MonBrightnessUp 0x010000b2
Key_MonBrightnessDown 0x010000b3
Key_KeyboardLightOnOff 0x010000b4
Key_KeyboardBrightnessUp 0x010000b5
Key_KeyboardBrightnessDown 0x010000b6
Key_PowerOff 0x010000b7
Key_WakeUp 0x010000b8
Key_Eject 0x010000b9
Key_ScreenSaver 0x010000ba
Key_WWW 0x010000bb
Key_Memo 0x010000bc
Key_LightBulb 0x010000bd
Key_Shop 0x010000be
Key_History 0x010000bf
Key_AddFavorite 0x010000c0
Key_HotLinks 0x010000c1
Key_BrightnessAdjust 0x010000c2
Key_Finance 0x010000c3
Key_Community 0x010000c4
Key_AudioRewind 0x010000c5
Key_BackForward 0x010000c6
Key_ApplicationLeft 0x010000c7
Key_ApplicationRight 0x010000c8
Key_Book 0x010000c9
Key_CD 0x010000ca
Key_Calculator 0x010000cb
Key_ToDoList 0x010000cc
Key_ClearGrab 0x010000cd
Key_Close 0x010000ce
Key_Copy 0x010000cf
Key_Cut 0x010000d0
Key_Display 0x010000d1
Key_DOS 0x010000d2
Key_Documents 0x010000d3
Key_Excel 0x010000d4
Key_Explorer 0x010000d5
Key_Game 0x010000d6
Key_Go 0x010000d7
Key_iTouch 0x010000d8
Key_LogOff 0x010000d9
Key_Market 0x010000da
Key_Meeting 0x010000db
Key_MenuKB 0x010000dc
Key_MenuPB 0x010000dd
Key_MySites 0x010000de
Key_News 0x010000df
Key_OfficeHome 0x010000e0
Key_Option 0x010000e1
Key_Paste 0x010000e2
Key_Phone 0x010000e3
Key_Calendar 0x010000e4
Key_Reply 0x010000e5
Key_Reload 0x010000e6
Key_RotateWindows 0x010000e7
Key_RotationPB 0x010000e8
Key_RotationKB 0x010000e9
Key_Save 0x010000ea
Key_Send 0x010000eb
Key_Spell 0x010000ec
Key_SplitScreen 0x010000ed
Key_Support 0x010000ee
Key_TaskPane 0x010000ef
Key_Terminal 0x010000f0
Key_Tools 0x010000f1
Key_Travel 0x010000f2
Key_Video 0x010000f3
Key_Word 0x010000f4
Key_Xfer 0x010000f5
Key_ZoomIn 0x010000f6
Key_ZoomOut 0x010000f7
Key_Away 0x010000f8
Key_Messenger 0x010000f9
Key_WebCam 0x010000fa
Key_MailForward 0x010000fb
Key_Pictures 0x010000fc
Key_Music 0x010000fd
Key_Battery 0x010000fe
Key_Bluetooth 0x010000ff
Key_WLAN 0x01000100
Key_UWB 0x01000101
Key_AudioForward 0x01000102
Key_AudioRepeat 0x01000103
Key_AudioRandomPlay 0x01000104
Key_Subtitle 0x01000105
Key_AudioCycleTrack 0x01000106
Key_Time 0x01000107
Key_Hibernate 0x01000108
Key_View 0x01000109
Key_TopMenu 0x0100010a
Key_PowerDown 0x0100010b
Key_Suspend 0x0100010c
Key_ContrastAdjust 0x0100010d
Key_LaunchG 0x0100010e
Key_LaunchH 0x0100010f
Key_MediaLast 0x0100ffff
// Keypad navigation keys
Key_Select 0x01010000
Key_Yes 0x01010001
Key_No 0x01010002
// Newer misc keys
Key_Cancel 0x01020001
Key_Printer 0x01020002
Key_Execute 0x01020003
Key_Sleep 0x01020004
Key_Play 0x01020005 Not the same as Key_MediaPlay
Key_Zoom 0x01020006
// Key_Jisho = 0x01020007, // IME: Dictionary key
// Key_Oyayubi_Left = 0x01020008, // IME: Left Oyayubi key
// Key_Oyayubi_Right = 0x01020009, // IME: Right Oyayubi key
// Device keys
Key_Context1 0x01100000
Key_Context2 0x01100001
Key_Context3 0x01100002
Key_Context4 0x01100003
Key_Call 0x01100004 set absolute state to in a call (do not toggle state)
Key_Hangup 0x01100005 set absolute state to hang up (do not toggle state)
Key_Flip 0x01100006
Key_ToggleCallHangup 0x01100007 a toggle key for answering, or hanging up, based on current call state
Key_VoiceDial 0x01100008
Key_LastNumberRedial 0x01100009
Key_Camera 0x01100020
Key_CameraFocus 0x01100021
Key_unknown 0x01ffffff

Qt键盘的一个小知识

发表于 2019-03-01

Qt::Key_Return与Qt::Key_Enter比较

相同之处

  • Qt::Key_Return与Qt::Key_Enter都是回车键.

不同之处

  • Qt::Key_Return是字母键盘的回车键;
  • Qt::Key_Enter则为数字键盘的回车键.
1…262728…32
Qt君

Qt君

313 日志
41 标签
© 2019 Qt君
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
粤ICP备 - 16070052号