QT学习记录QT基本功能

Posted xiaokcehui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT学习记录QT基本功能相关的知识,希望对你有一定的参考价值。

 按照下面两个教程学习

QT学习教程(全面)_Strive--顾的博客-CSDN博客_qt学习

天山老妖S的博客_QT开发(3)_51CTO博客

 1、pdb文件

 VS2017配置QT环境(详细版)_Wi~的博客-CSDN博客_vs2017配置qt

解决 VS 配置 Qt 报错:未加载XXX.pdb 以及 找不到文件源_莫余的博客-CSDN博客_未加载pdb文件解决方法

2、QT离线帮助在QT Designer/帮助/QT Designer Help

3、新建一个QT Test项目

Qt中文显示乱码解决方法_byxdaz的博客-CSDN博客_qt中文乱码

彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)_利白的博客-CSDN博客_qt utf-8

方法2:在头文件申明中加上
#pragma execution_character_set("utf-8")

4、增加一个登陆对话框

VS2017 对QT支持不是特别好,最好与QT Creator 配合使用

 qt 开发visual studio 2017和 qt creator 配合使用_wowocpp的博客-CSDN博客

打开QT项目,运行错误

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    MSB6006    “cmd.exe”已退出,代码为 2。    qtTest    C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\VC\\VCTargets\\Microsoft.CppCommon.targets    171    

使用VS 打开QT项目_清水迎朝阳的博客-CSDN博客_使用vs运行qt

使用VS 打开QT项目_清水迎朝阳的博客-CSDN博客_使用vs运行qt

VS2017已经安装了扩展,我的解决方案是将lupdateOnBuild从False改为True,然后运行成功。

VS2017中QT Designer 功能没有QT Creator 功能强,但是也能使用。

QT Creator 支持中文,设成GBK;

QT Creator 和VS2017混合编程乱码不好解决,还是用VS2017吧

重新建了一个项目,在主窗口增加一个登陆按钮,然后建了一个登陆窗口类,点击登陆按钮,显示登陆窗口,但是点击按钮也没有反应,QT Desginer无法对应登陆按钮的click消息对应的函数,也就是QT里的槽和信号。

在头文件增加:

private slots:
    void openDlgLogin();

在cpp文件的构造函数增加:

connect(ui.pBLogin, SIGNAL(clicked()), this, SLOT(openDlgLogin()));

并实现都文件的声明的函数

void qtTest::openDlgLogin() 

    m_pDlgLogin = new DlgLogin;
    m_pDlgLogin->show();

MFC里也有类似的机制,但是QT看起来更简洁,或者说封装得更深一些。

然后,点击登陆按钮,就会弹出登陆窗口

QT+VS2017学习笔记一:添加控件 连接信号与槽 点击控件按钮弹出子窗口_第1222只Joker的博客-CSDN博客_vs 工程qt设计师添加点击

VS进行Qt开发时Qt Designer没有“转到槽”选项_Lemon-Ning的博客-CSDN博客_qt里pushbutton为什么没有转为槽的选项

在VS里面使用QT,实现:信号与槽_wenluderen的博客-CSDN博客_vs使用qt信号槽

如果生成对话框的.ui文件,如何自动生成对应.h和.cpp文件?

使用QT的命令uic,在命令窗口生成

uic DlgLogin1.ui -o DlgLogin1.h

uic DlgLogin1.ui -o DlgLogin1.cpp

然后添加到项目中去

vs2017 qt5新建.ui生成.h .cpp_以千的博客-CSDN博客_vs 2017 qt 创建ui类

 这个方法太难用了,用下面的方法。

VS2015下用Qt Designer创建对话框_大漠不死鸟的博客-CSDN博客_vs qt 添加dialog

VS2017+Qt设置模态/非模态对话框_九三三的博客-CSDN博客_vs add qt classes

1.重新添加一个类myDialog,ui作为新的对话框
右键项目——添加——Add Qt Class——Qt Widget Class
2.添加的类是继承于QWidget,修改myDialog.h和myDialog.cpp。

class myDialog : public QDialog//此处由QWidget修改为QDialog

myDialog::myDialog(QWidget *parent) : QDialog(parent)此处由QWidget修改为QDialog

如果界面UI改变了,而在调试的时候,报变量没有找到的错误,这是ui的头文件没有更新的缘故,解决的办法是在Qt Dsigner查看ui界面的代码,然后保存替换原头文件。

qt QMessageBox 中文乱码_qtqmessage 汉字乱码_acoolgiser的博客-CSDN博客

QT messagebox 乱码解决_qtmessagebox中文乱码_不倒的土豆的博客-CSDN博客

5、增加菜单

菜单命令看作Action,遵循信号和槽规则

connect(ui.action_File_New, SIGNAL(triggered()), this, SLOT(actionFileNew()));

如果action_File_New报没有找到的错误,这是ui的头文件没有更新的缘故,解决的办法是在Qt Dsigner查看ui界面的代码,然后保存替换原头文件。

6、鼠标、键盘和定时器

鼠标命令,不用显式增加信号和槽规则,只需重载对应鼠标函数。

protected:
    void mousePressEvent(QMouseEvent *);

void qtTest::mousePressEvent(QMouseEvent *e)

    ui.pB1->setText(tr("(%1, %2)").arg(e->x()).arg(e->y()));

以上是关于QT学习记录QT基本功能的主要内容,如果未能解决你的问题,请参考以下文章

Qt学习笔记窗口部件整理

Qt——Ubuntu下安装Qt Creator的方法步骤总结及其界面功能与基本设置简介(Qt简介Qt Creator版本选择软件入门常用设置)

QT学习探索之路

Qt入门学习——Qt 5 帮助文档的使用

Hello World,本章学习Qt的基本功能

QT小技巧学习记录