设为首页 加入收藏

TOP

C++系列三:QT初识(一)
2023-09-09 10:25:47 】 浏览:123
Tags:初识

前言

开发环境,挺折腾人,一波三折。

参考链接:
官方文档C语言中文网、QT快速入门
博主:qt技术开发老杰Bibili
Qt 使用vs2022开发VS+QT程序打包发布1打包2

QT介绍

  1. 跨平台的GUI,于1995年5月发布
  2. 主要用于桌面程序开发和嵌入式开发。
  3. 目前 Qt 的开源授权有两种,一种是 GPL 授权,另一种是 LGPL 授权
    GPLv2/GPLv3许可:使用了GLP许可的Qt代码允许销售,但必须开源。GPLv3还要求公开相关硬件信息。
    LGPLv3许可:与GPL类似,但更宽松。若只是链接或调用GPL许可协议的Qt代码,可以不开源。
  4. QML 主要用于手机移动应用程序
  5. Windows 下的 GUI 解决方案比较多:
    基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout;
//相关术语
//Qt Creator   	
Qt 的集成开发环境,本教程就使用它来创建和管理 Qt 项目。
//Assistant(Qt 助手)	
用来查看帮助文档,已被集成在 Qt Creator 中。
//Designer(Qt 设计师)	
图形界面可视化编辑工具,已被集成在 Qt Creator 中,在 Qt Creator 中编辑或创建界面文件时,就可以自动打开。
//Linguist(Qt 语言家)	
多国语言翻译支持工具,可以用来编辑语言资源文件,在开发多语言界面的应用程序时会用到。
//Qt  for Desktop	
Qt 命令行工具,用来配置 Qt 开发环境(主要是设置 PATH 变量)。
//qmake	
核心的项目构建工具,可以生成跨平台的 .pro 项目文件,并能依据不同操作系统和编译工具生成相应的 Makefile,用于构建可执行程序或链接库。
//Dynamic Link 和 Static Link:
动态链接库、静态链接库
Linux/Unix 系统里静态库扩展名一般是 .a,动态库扩展名一般是 .so 。Windows 系统里 VC 编译器用的静态库扩展名一般是 .lib,动态库扩展名一般是 .dll 。
//Explicit Linking 和 Implicit Linking:
Explicit Linking 即显式链接,Implicit Linking 即隐式链接,这两种都是动态链接库的使用方式。

项目类型:
//Qt Widgets Application
桌面平台的有图形用户界面GUI
//Qt Console Application
控制台应用程序
//Qt Quick Application
移动用户界面GUI

----
//Q_OBJECT
Q_OBJECT:本质是一个已定义好的宏,所有需要“信号和槽”功能的组件

//QT常用快捷键
工具->选项->环境->键盘,查看各默认快捷键;
F1	//帮助文档
F2/ctrl+鼠标左键	//追踪源,变量和函数的声明和定义相互切换
F3	//Ctrl+F查找,下一个
F4	//源文件与头文件相互切换
F5	//开始调试
F9	//设置断点相互切换
F10	//执行当前行程序语句
F11	//跟踪进入,即如果当前行有函数,就进入函数体

Ctrl+B	 //编译当前项目
Ctrl+R //运行程序(非调试)
Ctrl+H、L //水平布局、垂直布局
ctrl+i   //自动对齐代码,要选中才有效
Ctrl+F  //查找、替换
Ctrl+/	//注释相互切换
Ctrl+Shift+S	//保存所有文件
Ctrl + 滚轮 //编辑界面放大/缩小
Alt + Enter //快捷创建函数
Ctrl + Alt + ↑↓ //当前/选中行向上/下复制

//Ui设计界面
F3 //编辑控件
F4 //编辑信号槽

小记

1. 编码格式
#include <QTextCodec>  //添加头文件
QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //设置编码
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
2. tr()函数
随国际化变化。
ui->pushButton->setText(tr("新窗口"));
3. 两类窗口打开的方式,
一个是自身消失而后打开另一个窗口;
一个是打开另一个窗口而自身不消失。
- 在主窗体添加一个按钮=>添加一个插槽=>跳转页面
//QDialog *dlg=new QDialog(this);
//dlg->show();
LoginDlg dlg;
dlg.exec();
- 在跳转页面添加一个按钮=>添加一个插槽 clicked()信号和LoginDlg的accept()槽并按下确定按钮。=>main.cpp
 MainWindow w;
LoginDlg dlg;                    // 建立自己新建的类的对象dlg
if(dlg.exec() == QDialog::Accepted) // 利用Accepted返回值判断按钮是否被按下
{
    w.show();             // 如果被按下,显示主窗口
    return a.exec();   // 程序一直执行,直到主窗口关闭
}
else return 0;  //如果没被按下,则不会进入主窗口,整个程序结束运行
4. 常用控件属性设置:
if(ui->usrLineEdit->text().trimmed() == tr("admin")&& ui->pwdLineEdit->text() == tr("123456"))
QLabel *lab; //声明
this->lab=new QLabel("hello,world",this);
ui->firstBtn->setText("新窗口");
QMessageBox::warning(this, tr("Waring"),tr("error!"), QMessageBox::Yes);                      
// 清空内容并定位光标
//placeholderText、setEchoMode(QLineEdit::Password)
ui->usrLineEdit->clear();
ui->pwdLineEdit->clear();
ui->usrLineEdit->setFocus();
5. 菜单设置:
// 创建新的动作
QAction *openAction = new QAction(tr("&Open"), this);
// 添加图标
QIcon icon(":/myImages/images/close.png");
openAction->setIcon(icon);
// 设置快捷键
openAction->setShortcut(QKeySequence(tr("Ctrl+O")));
// 在文件菜单中设置新的打开动作
ui->men
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[Qt开发探幽(二)]浅谈关于元对.. 下一篇《CUDA编程:基础与实践》读书笔..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目