美文网首页
1.QT学习

1.QT学习

作者: YanyZhao | 来源:发表于2020-11-03 15:49 被阅读0次

一、QT 知识学习https://qtguide.ustclug.org/

1..pro链接库
2.QString:QString字符串操作
QTextStream配合字符串使用 赋值运算符 = 的隐式共享(Implicit Sharing

二、☆槽函数 slots

文件结构
槽函数使用步骤
1)widget.ui: 在控件栏拖入PushButton
2)widget.h:
public slots:       //槽函数声明标志
void FoodIsComing();    //槽函数

3)Widget.cpp:

//#1.槽函数定义代码,与普通成员函数类似
void Widget::FoodIsComing()
{
    QMessageBox::information(this, tr("送餐"), tr("叮咚!外卖已送达"));
}

//#2.添加关联代码,必须放在 setupUi 函数之后
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(FoodIsComing()));
☆connect()函数定义
1 自动关联:

优点:不需要手动编写 connect 函数,通过自动命名槽函数的方式来编写代码。自动关联的要求是槽函数根据源头的对象名(指针)和其信号名称来命名,元对象系统可以实现剩下的自动 connect 功能。
缺点:自动关联一般用于一个窗体之内的控件关联,其他很多情况都是需要手动编写 connect 函数的,所以学习 connect 函数的语法句式是必须的。


第二步是由 uic 和 moc 等工具自动完成的,在 Debug 文件夹里可以找到 ui_widget.h,最关键的就是 setupUi 函数末尾一句QMetaObject::connectSlotsByName(Widget);
2 手动关联:

自动关联一般用于一个窗体之内的控件关联,其他很多情况都是需要手动编写 connect 函数的,所以学习 connect 函数的语法句式是必须的。


3 文本同步显示:
源头控件 lineEdit 信号和接收端控件 label 槽函数 均是 Qt 库自带的
4 自定义信号和槽:

emit SendMsg( tr("This is the message!") );
emit 是发信号的关键字,然后接下来就与调用函数是一样的格式,SendMsg 里面放置我们想传递的字符串参数

发送自定义SendMsg信号
//③关联,信号里的字符串参数会自动传递给槽函数
    QObject::connect(&w, SIGNAL(SendMsg(QString)), &s, SLOT(RecvMsg(QString)));
自定义信号和槽 运行流程
复杂多窗口的界面程序,在多个窗体对象之间就可以用 上图示范的流程,来进行通信、传递数据。

b. 关联按钮信号到自定义信号,再关联到槽函数

//showmsg.cpp: 关联按钮信号到自定义的信号
    connect(ui->pushButton, SIGNAL(clicked()), this, SIGNAL(SendVoid()));

    //main.cpp: ③关联源头的信号和接收端的槽函数
    QObject::connect(&w, SIGNAL(SendVoid()), &s, SLOT(RecvVoid()));

三、问题解决:

  1. Qt在ubuntu无法输入中文的解决

  2. QMessageBox显示中文乱码

  3. 在Linux中使用命令行启动

相关文章

  • 1.QT学习

    一、QT 知识学习https://qtguide.ustclug.org/[https://qtguide.ust...

  • 2020-01-18

    计划: 1.Qt语言学习 QT怎么学习 初学QT怎么学 Qt学习资料 2.c primer plus了解 3. 4...

  • 2.QT界面切换及隐藏--Apple的学习笔记

    一,前言 之前做了基本的主界面的练习1.QT自制文件编辑器--Apple的学习笔记[https://www.jia...

  • 1.Qt概述

    一、安装qt(windows) 前提条件:已安装vs2017 安装qt 选择版本5.11.2Qt安装版本.png ...

  • 基于QT 5.5.1 for Android 的 Windows

    基于QT 5.5.1 for Android 的 Windows 开发环境搭建 一、准备软件: 1.Qt 5.5....

  • QT&PYQT 经典例子收集

    1.QT中随鼠标移动图片局部放大功能 2.QWebEngineView 操作web 中DOM对象

  • Mac QT No suitable kits found

    解决办法:xcode环境一定提前装好 1.QT建议这样安装 mac下通过homebrew安装qt,brew ins...

  • Qt的入门基础

    音视频合集 1.Qt入门基础[https://www.jianshu.com/p/ba8e9c31ecbe]2.音...

  • 1.QT自制文件编辑器--Apple的学习笔记

    一,前言 之前我把小目标进行了调整,提及了制作上位机工具,那么就需要做一个像样的上位机工具,就像我们平时PC上安装...

  • 自动翻译器1

    自动翻译器的python部分 一、设计思路 1.qt提取剪贴板/鼠标选中内容作为翻译内容 2.使用python向百...

网友评论

      本文标题:1.QT学习

      本文链接:https://www.haomeiwen.com/subject/qejmvktx.html