QT界面开发--基础学习篇一(上)

article/2025/10/29 23:21:13

一、Qt简单介绍:

1、QT的简单理解:

Qt简单的说就是一种可以跨平台的编程语言工具,可以直接类比C语言和C++.

且一般QT的代码逻辑也是以C语言和C++(也可以适用于像JS的语言),可以直观理解于VScode、vs2019.

不过它主要处理是以应用程序开发为主。(拿来直接当C编译器也是不错的)。

2、QT支持的范围广:

QT能够适用于面前市场上的大部分平台,如:iOS、Android、WP,iOS、Android、它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。

其他:像QT的发展史和其余的集合就不再细讲,不过这里注意一点就是在4版本之前的QT会对于目前的平台有些不适用,或者存在代码bug报错的情况。

二、QT的安装和配置:

1、注意点:

对于QT的安装的配置,建议一步一步操作来,不然可能会出现,类似这样的警告:

qt.winrtrunner: Using the AppxPhone profile.

qt.winrtrunner: Failed to connect to device: 0x89731810 "Deployment failed because no device was detected. Make sure a device is connected and powered on."

并且可能出现重装了,还是无法进行应用程序正常打印输出(如:进行qDebug()打印的时候)

2、举例:

这里就以QT的安装与VS配置的注意细节为主。主要的流程配置流程可以参考这篇文章:https://blog.csdn.net/qq_40642828/article/details/104340768

需要注意的是:

在新的版本里它对应的兼容环境更多所以出现的QT.app块是正常的。

 在QT vs tools中选择:option后会出现下图

 选择中间项,进行更改就行了,这是在新的版本才有的,旧版本它里面就只有按原先连接里的那样就可以了(有一说一,还是原先的版本好用,理不清干嘛改的这么的不人性)

剩下的直接按链接的进行就行了。 

三、QT项目文件创建流程

1、注意点:

路径(code)不能带有中文不然可能会报错,命名上也不能带有中文,凡事不带中文。(挺那啥的,气抖冷)

2、流程:

模块包含:

widget 窗口模块 mainwindows等模块,一般选取widget 窗口。

四、代码区前期理解:

1、初始文件含义:

 

QT       += core gui//包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT += widgets//窗口模块-5版本上的才有
//有的你会看到在你的生成的文件里会有
//TARGET = 01_QtFirst//这是你自定义取的名字
//TEMPLATE = app//模板框架使用了应用程序框架
CONFIG += c++11//在以前的就版本里面是没有这个的,所以在编译时,旧版本会出现一些代码不兼容的现象或者是bug# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
//下面属于生成项目时会帮你添加的,如果是想要自定义头文件也不要自己来,系统会自动帮你加
SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.h
//前期使用时可以不用下面这个,它在你生成文件时,不要点击下标生成.ui的文件就好了,如下图。
FORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

#include "mainwindow.h"//包含你在项目中设置的头文件#include <QApplication>//应用程序类
//argc命令行变量的数量 argv 命令行变量 数组
int main(int argc, char *argv[])
{QApplication a(argc, argv);//应用程序对象 QT中有且仅有一个应用对象,会从系统中拿到对象MainWindow w;//创建一个自定义窗口对象-是创建在站w.show();//窗口对象 默认是不会弹出来,需要调用show函数 进行显示return a.exec();//a.exec()进入消息循环机制 死循环,阻塞代码//等效进入死循环//    while (true) {        //    }}

mainwindow.cpp或者mywidget.cpp,这个根据你自己设置的选取的定义,项目初建时的对象树的选取。

2、在QT中的一些快捷键的使用

可以直接将下面这段拷贝(在前期不熟之前 )

/*
 * 命名规范
 * 类名 首字母大写,单词和单词之间 首子盲目大写
 * 函数名、变量名。。。。首字母小写 单词和单词之间首字母大写
 * 常用快捷键
 * 运行ctrl +R
 * 编译 ctrl+B
 * 帮助文档F1
 *注释ctrl+/
 *查找 ctrl+f
 *
 */


3、基础学习篇一(上)-代码知识

这是前期需要具备的一些代码知识

#include "widget.h"
#include "ui_widget.h"
//在这里如果你想要使用到界面上的某个功能定义的时候,需要将对应的头文件给添上
#include<QPushButton>//按键
#include<QDebug>//打印输出
#include"student.h"//自定义头文件
#include"teacher.h"//自定义头文件Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
//    QPushButton *bnt=new QPushButton;/按键对象的创立
//    bnt->setParent(this);
//    //bnt->show();//在这里的()中不加上this,这样的话就会出现不同的窗口,那样窗口就很多
//    bnt->setText("第一个键");//给你所创建你的按键取名,除了可以在帮助助手那里查,还有就是,直接英文翻译
//connect(bnt,&QPushButton::clicked,this,&QPushButton::close);//&要用取得的那个引用,底层进行的是常量指针的行为
//    QPushButton *but2=new QPushButton("第二个键");
//    but2->setParent(this);
//    but2->move(100,100);
//    this->setWindowTitle("窗口名字");
//    resize(200,200);
//    this->setFixedSize(100,100);// 来强制设置好窗口的大小长宽st=new student(this);tt=new teacher(this);void(teacher::*teachersignals)(QString)=&teacher::hurry;//c++知识,在不同函数文件下,需要加上作用域,,不然就会默认为基类/父类的函数或对象,可能会引用不到void(student::*studentslots)(QString)=&student::treat;//指针函数来重名重载使用connect(tt,teachersignals,st,studentslots);//信号发生者 信号 接收者 行为(槽)//断开连接就是直接英文dis前缀放在connnect之前classIsover();//调用}
void Widget::classIsover()//都要加上作用域,不然他不知道是谁的 定义
{//触发用 emitemit tt->hurry("谁你的定义的词");//有括号//这个取决你的是否要传入
}Widget::~Widget()
{delete ui;qDebug()<< "打印吗?"<<endl;//这里和C++中的cout<<""<<endl;同样的作用
//不过它的输出的窗口一般是在应用程序输出框,你可以用ctrl+3的方式找到这个框
//如果需要在弹出的ui窗口进行输出的话就需要进行对应的管理使用。}

对象的释放,创建在栈上,一般是用先进后出的理论,在这里也是适用的,不过由于QT他会进对象的树的判断,所以在你在对应的构造函数中进行qDebug打印的时候会发现这个打印是按队列现金先出的方式,不过那只是由于他对于自身需要进行子类和父类对的判断,确定在这个类下面已经没有子类了,才会将他释放掉。

文章转载自:http://blog.bools.cn/archives/1311


http://chatgpt.dhexx.cn/article/TyoP1mQw.shtml

相关文章

spark hbase shc基本使用

shc测试环境的搭建参考&#xff1a;spark读写HBase之使用hortonworks的开源框架shc&#xff08;一&#xff09;&#xff1a;源码编译以及测试工程创建 读写HBase需要两个核心的元素&#xff1a; 用户描述数据结构的schema字符串与schema字符串相对应的实体类 1. 定义schema字…

使用SHC命令工具加密Shell脚本

问题&#xff1a;如何在Linux环境中加密shell 脚本 应用场景&#xff1a; 1.当shell脚本中包含密码&#xff0c;不希望其他人查看到shell脚本中的密码等信息&#xff0c;可以安装使用SHC工具进行加密。 安装SHC 系统环境&#xff1a;Centos7 yum -y install shc创建一个she…

Spark读写HBase(主要讲解SHC的使用)

前言 Spark读写HBase本身来说是没啥可以讲的&#xff0c;最早之前都是基于RDD的&#xff0c;网上的资料就太多了&#xff0c;可以参考: 参考链接1 参考链接2 其实都一样&#xff0c;后来有了Hortonworks公司的研发人员研发了一个Apache Spark - Apache HBase Connector&#x…

shc将shell脚本转成二进制文件

最近在做一个项目&#xff0c;需要把shell脚本自定拷贝到目标客户端中执行&#xff0c;但是并不想让用户知道脚本的源码&#xff0c;于是采用shc对shell脚本进行处理 首先装个wget工具 yum -y install wget下载 wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.…

Shell脚本加密工具——Shc

Linux下的shell脚本用途广泛&#xff0c;经常包含IP、Pwd等关键信息&#xff0c;可读可写的特点很容易造成信息泄露&#xff0c;导致严重后果。基于这些原因&#xff0c;对脚本实施加密便变得很有必要。本文介绍的shc便是这样的一款加密工具。 1&#xff0c;下载安装 下载地址…

SHC加密sh脚本

SHC是一个将bash等脚本打包成二进制文件执行的工具,由于其执行脚本的方式不需要脚本文件落地,且在打包的二进制文件中加密脚本内容,在静态文件中没有脚本的痕迹,很多恶意文件利用该工具完成恶意行为,常规的恶意软件检测也难以判黑。 使用举例 生成二进制bin文件的命令:…

linux上shc下载和安装

安装好wget&#xff0c;有网直接下载即可 wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz下载后解压 tar zxf shc-3.8.7.tgz安装gcc yum install gcc -y进入目录 gcc shc-3.8.7.c -o shc将命令移动到根bin下 mv shc /bin安装结束

shc加密shell脚本

shc的官网下载地址http://www.datsi.fi.upm.es/~frosal/sources/ shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件&#xff0c;这个办法很好的解决了脚本中含有IP、 密码等不希望公开的问题。 如果你的shell脚本包含了敏感的口令或者…

shell脚本加密工具—shc

Shell脚本中包含大量信息&#xff0c;其中还有一些敏感信息&#xff0c;如用户名&#xff0c;密码&#xff0c;路径&#xff0c;ip等&#xff0c;这些信息在保存或运行时很容易就会泄露&#xff0c;所以需要对Shell脚本进行加密。 Shc是一个加密Shell脚本的工具&#xff0c;它的…

shc

2019独角兽企业重金招聘Python工程师标准>>> 1. shc是什么? shc是一个可以将shell script转化为可执行文件的工具, 默认一个shell script文件经过工具处理后有另外两个文件.x和.x.c文件, 其中.x文件可执行, 而.x.c文件是其源码. 需要注意的是这个工具不是编译, shc…

shell脚本shc加密解密

一、shc加密 #shc编译安装 #软件安装包地址&#xff1a;http://www.datsi.fi.upm.es/~frosal/sources/ tar xvfz shc-3.8.7.tgz cd shc-3.8.7 make #验证shc是否正确安装 ./shc -v #加密命令 shc -T -f a.sh #加密后生成的文件 #a.sh.x是加密后的可执行的二进制文件 #a.sh.x.c…

如何使用SHC加密Shell脚本

导读如何在Linux环境中加密shell脚本&#xff1f;shell脚本包含密码&#xff0c;不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具&#xff0c;普通用户无法读取shc创建的加密Shell脚本。SHC是指&#xff1a;Shell脚本编译器(Shell Script Compiler)。…

计算机类SCI期刊IF排名

数据基于最新的(2021)科睿唯安数据库&#xff0c;计算机科学及人工智能方向。 1-10名&#xff1a; 11-20名&#xff1a;

爱思唯尔计算机期刊排名,2017影响因子高增长爱思唯尔物理期刊推荐

原标题&#xff1a;2017影响因子高增长爱思唯尔物理期刊推荐 爱思唯尔Elsevier凭借出版高质量物理学期刊百余年的经验&#xff0c;能敏锐发现物理学领域的需求变化&#xff0c;帮助物理学家们脱颖而出&#xff0c;逐步建立完善他们的职业生涯。爱思唯尔物理期刊团队的目标很简单…

计算机中运行Xbrowser,丢失msvcr110.dll

删除那些向文件夹添加dll文件的说法。直接下载两个版本的文件安装即可&#xff1a; 官方下载地址

linux xbrowser 安装包,xmanager安装包

xmanager安装包是一款专门应用于远程遥控的专业软件。使用xmanager安装包用户们就可以对争的同意的设备来远程遥控&#xff0c;对xmanager安装包感兴趣那就快来下载吧。 xmanager安装包介绍 1、一款功能强大、使用方便的会话管理工具&#xff0c;主要供网管使用。 2、可以轻松连…

使用 Xbrowser4远程连接到 CentOS 7

2019独角兽企业重金招聘Python工程师标准>>> 将 gdm 切换到 lightdm 打开终端&#xff0c;切换root帐号 # su - 2.安装 lightdm # yum install lightdm 3.配置 lightdm&#xff0c;如果不存在&#xff0c;则创建之 # vi /etc/lightdm/lightdm.conf [XDMCPServer] e…

linux桌面网络连接是个X,Xbrowser如何运行多个X桌面

Xbrowser的用户界面非常直观。在Xbrowser中&#xff0c;可以使用X显示器控制协议(XDMCP)浏览或连接远程的UniX/LinuX机器。本集就同大家讲讲如何使用Xbrowser运行多个X桌面。 打开多个XDMCP会话的具体操作&#xff1a; 1、运行Xbrowser&#xff0c;Xbrowser中列出了所有连接的主…

【Xmanager】Xbrowser-Xstart远程访问RHEL5.3配置

转自http://www.throwexcept.com/article/1417030564765.html 用Xstart连接Linux远程桌面有一个好处&#xff0c;服务器端不用做什么设置&#xff0c;开启SSH即可。 服务器要有桌面环境和X Window。 用XDMCP连接&#xff0c;服务器端得做一些配置&#xff0c;麻烦。 开始菜单 -…

使用Xmanager - Xbrowser打开远程最小化方式安装的CentOS 7.6的图形化界面

默认开机后进入命令提示符界面&#xff1a; 如果需要使用图形界面&#xff0c;可执行如下操作&#xff1a; 1、关闭CentOS 7.6的firewalld防火墙&#xff0c;或打开177端口 2、安装桌面环境&#xff1a; # yum -y groupinstall "X Window System" # yum -y install g…