QT界面开发 |
您所在的位置:网站首页 › C语言理论基础 › QT界面开发 |
一、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、初始文件含义: mainwindow.cpp或者mywidget.cpp,这个根据你自己设置的选取的定义,项目初建时的对象树的选取。 2、在QT中的一些快捷键的使用可以直接将下面这段拷贝(在前期不熟之前 ) /* * 命名规范 * 类名 首字母大写,单词和单词之间 首子盲目大写 * 函数名、变量名。。。。首字母小写 单词和单词之间首字母大写 * 常用快捷键 * 运行ctrl +R * 编译 ctrl+B * 帮助文档F1 *注释ctrl+/ *查找 ctrl+f * */ 3、基础学习篇一(上)-代码知识这是前期需要具备的一些代码知识 #include "widget.h" #include "ui_widget.h" //在这里如果你想要使用到界面上的某个功能定义的时候,需要将对应的头文件给添上 #include//按键 #include//打印输出 #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()//都要加上作用域,不然他不知道是谁的 定义 { //触发用 emit emit tt->hurry("谁你的定义的词");//有括号//这个取决你的是否要传入 } Widget::~Widget() { delete ui; qDebug() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |