Qt的基本语法及其使用(一)

这篇具有很好参考价值的文章主要介绍了Qt的基本语法及其使用(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. Qt的概念:Qt是通用的C++开发界面框架(C++图形用户界面 应用程序开发框架),既可以开发GUI程序也可以开发开发非GUI程序,Qt是面向对象的框架,使用特殊的代码生成扩展。

  1. Qt的历史:1991由QT公司研发,2008年被诺基亚收购,2012年被Digia收购。

  1. Qt模块:

  • Qt Core模块: 是QT类库的核心,所有其他模块都依赖这个模块

  • Qt Gui模块: 提供GUI程序的基本功能

  • Qt Network模块:提供跨平台的网络功能

  • Qt Widgets模块:提供创建用户界面的功能

  1. Qt的基本使用:

Qt包含代码区和ui设计区

  1. ui设计区包含:

  • 控件区

  • 按钮类---QPushButton

  • 行输入框------QLineEdit

  • 标签显示类 --QLabel

每一个控件在被拉到设计框中都会在ui_mywin.h显示(执行后显示),而每一个控件都有槽操作,意思是对这个控件生成对应的代码块从而操纵这个控件。(比如buttons控件,如果想要对buttons按下所产生的信号进行操作,则转到槽后会自动创建一块代码区,即可在里面操作).

qt获取父窗口指针,Qt,qt,ui,开发语言,Powered by 金山文档
  1. Qt的函数:

Qstring的使用方式

#include<QDebug>        //输出头文件
qDebuf()<<text;         //速出text
//Qstring的用法
//初始化字符串
QString s1;
s1 = "hello;            //赋值
QString s2("hello");    //赋值
s2.clear();             //清空s2
QString s3("123456");    
s3.size();              //计算s3的长度
s3.append(“789”);            //追加数据“789”

//字符串拼接加转换
int h=9,m=34,s=20;
QString s4 = Qstring::fromUtf8("当前时间是 %1:%2:%3").arg(h).arg(m).arg(s);
qDebug()<<s4;           //输出是:当前时间是 9:34:20
                        //fromLocal8Bit 字符串转换为本地编码 也就是可以汉字显示
//字符串切割
QString str5("2023/3/1");
QStringList list = str5.split("/");        //List容器
for(int i = 0; i<list.size(); i++)
{
    qDebug()<<list[i];            
}

//判断字符串是否以指定的字符串结尾,判断后缀名
str6 = "1.bmp";
if(str6.endsWith(".bmp")
    qDebug()<<"is bmp";

//字符串转换
//整形转换为字符串
int val = 123;
QString s7 = QString::number(val);
//将字符串转换为整数
int data = s7.toInt();
qDebug()<<data;
//字符串QString 与 char *之间的转换
QString s8("hello");
char *str = s8.toLocal8Bit().data();
qDebug()<<str;
//字符串QString 转换成 C++中的string
std::string s9 = s8.toStdString();
qDebug()<<s9.c_str();                //QT没有做C++的string的重载,所以要.c_str();

//迭代器进行遍历
for(QString::iterator it = s9.begin(); it!=s9.end(); it++)
{
    qDebug()<<*it;
}

//字符串查找或包含
QString str10 = hello 123;
QRegExp re([0-9]{3,});    //使用正则表达式 需要头文件#include<QRegExp>
if(str4.contains(re))
    qDebug()<<yes;
else 
    qDebug()<<no;

点击按钮弹出对话框/提示框

//这样的话当你点击按钮发送信号的时候会弹出一个提示框,提示内容就是括号里面内容
QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.exec();
//扩展
QMessageBox msgBox;
msgBox.setText(QString::fromUtf8("注册成功"));
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();

自定义对话框/提示框

右击项目名->add new->Qt->Qt设计师界面类->Dialog with Buttons Botton(前三个可选)->一直点下一步->自动生成对话框ui界面

模态和非模态:

模态:模态的方式调用对话框,指的是必须要关闭了对话框之后,原来的界面才能操作

非模态:与模态相反,可以任意操作

//自定义对话框
Dialog *msgDialog = new Dialog(this);
msgDialog->exec();     //模态
//msgDialog->exec();    //非模态
  1. 多界面编程的思路:

  • 实例化 另一个界面的对象

  • 显示你要跳转的界面

  • 关闭当前界面或者隐藏当前界面文章来源地址https://www.toymoban.com/news/detail-745272.html

void MyWindow::on_pushButton_2_clicked()      //父窗口
{
    //把当前父窗口指针this传递给 子窗口
    MainWindow *sy = new MainWindow(this);
    //窗口关闭的时候自动销毁
    sy->setAttribute(Qt::WA_DeleteOnClose);
    //2、显示你要跳转的界面
    sy->show();
    //3、关闭当前界面或者隐藏当前界面
    //关闭指的是 当前界面 已经关闭了,无法返回
    //隐藏指的是 当前界面 只是被隐藏起来了,后面还可以进行返回
    this->hide();
}

void MainWindow::on_pushButton_clicked()    //子窗口
{
    //1、先获取 父窗口 (Loginwidget) 的对象指针ss
    QWidget *ss = this->parentWidget();
    //2、显示
    ss->show();
    //3、关闭当前文件
    this->close();
}

到了这里,关于Qt的基本语法及其使用(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法

    窗口的最大化、最小化和关闭按钮通常是由操作系统的窗口管理器控制的,而不是由应用程序控制的。这些按钮的行为(例如点击最大化按钮会将窗口的大小调整为屏幕的大小)是由窗口管理器实现的,应用程序通常不能改变这些行为。 在 Qt 中,你可以通过 QWidget::setWindow

    2024年02月11日
    浏览(40)
  • YOLOV5 部署:QT的可视化界面推理(根据UI窗口编写内部函数)

    上一章,UI的可视化界面已经创建好了。并且通过UI文件编译成了python可以处理的py文件,为了方便使用,我们新建了qt_inference 对ui的py脚本进行调用,效果如下 UI可视化的生成:YOLOV5 部署:QT的可视化界面推理(创建UI,并编译成py文件)-CSDN博客 本章将接着上面操作,完成一

    2024年04月08日
    浏览(36)
  • QT在自定义类中调用主类(界面类ui及其控件)的一种实用方法

    在实际应用中,经常会出现需要自定义类访问界面中的控件的情况,使用信号和槽进行跳转往往过于繁琐,使用下述方法可以巧妙解决: 界面类 QtWidgetsTest.h QtWidgetsTest.cpp 自定义类 CustomClass.h 首先包含ui头文件(其实也可不写,因为cpp里一定会包含QtWidgetsTest.h并包含ui文件),

    2024年02月16日
    浏览(47)
  • 如何使用Qt创建一个新窗口?

    如何使用Qt创建一个新窗口? 在Qt中,我们可以使用QML语言轻松创建图形界面。如果需要创建一个新的窗口,我们可以使用Qt.createComponent来创建一个新组件并将其添加到主窗口中。下面是一个简单的例子。 在这个例子中,我们创建了一个主窗口,并在其中添加了一个按钮。当

    2024年02月11日
    浏览(57)
  • C++,使用Qt设计一个登录窗口

    要求如下: 1、给窗体改变名称并设置窗口图标、尺寸固定 2、中间放log图 3、用户名和密码使用图片完成 4、账户用明文模式,密码用密文模式 5、点击登录后,将界面上的用户名和“admin”比较,密码和“123456”比较,如果匹配成功,则输出登录成功,如果匹配失败,则输出

    2024年02月12日
    浏览(40)
  • 06-3_Qt 5.9 C++开发指南_多窗体应用程序的设计(主要的窗体类及其用途;窗体类重要特性设置;多窗口应用程序设计)

    常用的窗体基类是QWidget、QDialog 和QMainWindow,在创建 GUI应用程序时选择窗体基类就是从这 3 个类中选择。QWidget 直接继承于 QObject,是 QDialog 和 QMainWindow 的父类,其他继承于 QWidget 的窗体类还有 QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类QWindow,它同时从 QObject 和Q

    2024年02月13日
    浏览(85)
  • 01_1_Qt工程实践_Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)

    本篇介绍什么是样式表,讨论如何使用Qt样式表Qss修改应用程序外观,并通过实例进行讲解。 了解HTML的同学都知道,一般在HTML中我们把样式表叫做CSS,在Qt中我们称之为QSS。QSS和CSS并不完全等同,语法完全类似,定义上存在一些差别。 QSS是Qt程序界面中用来设置控件的背景图

    2024年02月16日
    浏览(41)
  • 【QT学习二】Qt Design中使用Qt的基本布局

    目录 概述 Qt Design中使用Qt的基本布局 控件在哪? 怎么使用? 直接拖拽布局控件 使用工具栏 Layout的属性 在我们使用Qt做界面设计时,为了界面的整洁美观,往往需要对界面中的所有控件做一个有序的排列,以及设置各个控件之间的间距等等,为此Qt为界面设计提供了基本布

    2024年02月08日
    浏览(41)
  • Qt教程 — 2.1 如何使用Qt Designer 开发UI程序

    目录 1 Qt Designer简介 2 编辑UI界面 2.1 在 UI 界面添加一个Label 2.2 在 UI 界面添加一个按钮 2.3 在 UI 文件里连接信号与槽 方法一:通过信号和槽编辑栏 方法二:通过导航区信号和槽编按钮 方法三:通过跳转编辑代码实现—通过按钮输出文字 Qt Designer 是属于 Qt Creator 的一个功能

    2024年03月22日
    浏览(53)
  • Qt - .ui 文件的使用

    子目录只能输入英文,想要显示中文,可以修改右下方表中的 text 属性: 让工具栏共用 菜单栏的 new 和 open,只需将下方列表的控件,拖拽到工具栏。 添加分隔符 allowedAreas 设置允许停靠的位置。 可以通过 MainWindow.cpp 的 ui 属性,找到所有的控件。 添加 icon 资源 会创建 .qr

    2024年02月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包