赞
踩
1.qt的特点
跨平台: QT可以在市面上所有主流的操作系统上运行使用
2.QT的下载
http:// https://download.qt.io/archive/qt/
.exe //window平台的
.dmg //苹果平台
.run //linux平台
3.新建QT工程
方法一:点击projects中的new这个按钮,会自动弹出对话框,新建QT工程
方法二:点击文件,选择新建文件或者工程,也可以新建QT工程
注意:工程名不要是中文,工程保存的路径也不能有中文
2.分析QT工程的结构组成
(1)工程配置文件 .pro文件
QT += core gui //给QT工程添加一些类库 core核心库 gui图形用户界面库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //widgets窗口库
CONFIG += c++11 //使用c++11标准去编译
(2)头文件 headers
类的定义
(3)源代码 sources
int main(int argc, char *argv[])
{
QApplication a(argc, argv); //QApplication类用来管理QT工程(用来管理信号与槽,管理QT中的事件响应)
MainWindow w; //创建一个主窗口对象
w.show(); //显示主窗口
return a.exec(); //进入事件循环(不断地帮你刷新主窗口)
}
(4)ui文件 forms
你的QT程序中使用的ui界面就保存在这个ui文件中
1.跳转到ui设计师界面
所见即所得,傻瓜式操作
双击ui文件,自动跳转到ui设计师界面
复制组件
ctrl按住不松开,拖动组件即可复制
2.常用的组件
(1)标签 label --》类名 QLabel
作用:用来显示字符串
常用的属性:
geometry 设置位置坐标,设置宽和高
font 设置标签上字体大小
(2)单行输入框 lineedit --》类名QLineEdit
作用:用来获取键盘输入的文字内容
常用的属性:
geometry 设置位置坐标,设置宽和高
font 设置输入框中字体大小
placeholdertext 设置输入框默认提示信息
echomode 设置输入框隐藏信息还是显示信息
显示 --》normal
隐藏 --》password
(3)普通按钮 pushbutton --》类名QPushButton
常用的属性:
geometry 设置位置坐标,设置宽和高
font 设置按钮上字体大小
什么是样式设计? 酷炫效果
类似于网页设计中的css,为了让你的QT界面更加的好看
如何跳到QT改变样式表的界面?
方法一: 右键点击组件,选择改变样式表即可
方法二: 点击属性中的styleSheet属性,也可以跳到样式表界面
(1)常用的qss语句
font: 48pt "楷体"; //字体设置成楷体 48号字
color: rgb(255, 0, 0); //前景色设置成(255, 0, 0)
按钮的前景色指的就是按钮上文字的颜色
background-color: rgb(0, 85, 255); //背景色设置成(0, 85, 255)
按钮的背景色指的就是按钮背景的颜色
border-color:rgb(0, 85, 255); //边框颜色设置成(0, 85, 255)
background-image: url(:/new/prefix1/pic/3.jpg); //设置背景图片
background-image: url(你需要的图片的绝对路径);
border-image: url(:/new/prefix1/pic/2.jpg); //设置边框图片(边框图片跟组件的大小保持一致)
border-image: url(你需要的图片的绝对路径);
border-radius:15px; //把倒角设置为15个像素
倒角的大小不能超过组件高度的一半
border:2px solid#ff0000; //把边框的宽度设置为2个像素,颜色设置成ff0000
QPushButton:pressed{ 设置按钮按下的时候背景图片,主界面的样式中使用
background-image: url(:/button_down.png);
}
QPushButton:pressed#regBt{ 设置指定按钮regBt按钮按下时候背景图片,主界面的样式中使用
background-image: url(:/button_down.png);
}
QPushButton:hover{ 主界面的样式中使用
background-color:#ff00ff; 鼠标进入控件设置背景颜色
}
QMainWindow{border-image: url(:/new/prefix1/pic/3.jpg);} //让图片只作用于主窗口
注意注意注意: QT中的路径的写法
本来路径: C:\Users\PC\Desktop\share\1.jpg
QT要求写成: C:/Users/PC/Desktop/share/1.jpg
路径有两种:
第一种:绝对路径,比如:C:/Users/PC/Desktop/share/1.jpg
第二种:你添加了资源文件之后,写资源文件的相对路径,比如:border-image: url(:/new/prefix1/image/2.jpg);(2)给组件添加背景图片--》给你的QT工程添加资源文件
资源文件:你的QT工程需要用到的外部文件都叫做资源文件,常见的资源文件有图片,音频文件,视频文件
添加资源文件的步骤:
第一步:在你的QT工程文件夹中把要添加的图片保存到新建的文件夹中
第二步:右键点击工程名,选择add new--》选择QT,选择QT resources file --》点击add prefix,接着再点击add files --》会自动弹出文件对话框,找到自己要添加的图片,添加即可第三步:ctrl+s保存即可
温馨提示:
方法一:QT中每个类的方法都很多,方法的名字都是一些英文单词,可以根据单词的意思大胆猜测函数的用途
方法二:单词看不懂,英文注释用法看不懂,翻译,翻译也看不懂,上百度(QT是比较成熟的开发平台,网络有很多的博客介绍各种各样的知识)
方法三:任何一个组件,你在ui设计师界面中见到的属性,在类中都有对应的函数去设置该属性
设置属性的成员方法都有统一的命名规范:
setxxxxx() //xxxxx就是你见到的某种属性的名字
比如:geometry --》函数setGeometry()
font --》函数setFont()
2.QT助手的打开方法
方法一:在QT安装程序中,有个assistant,你弄一个快捷方式到桌面,打开它就是QT助手
方法二:在QT creator中帮助
课后小作业:
用代码实现登录界面
思路步骤如下:
nullptr等价于NULL
父窗口:组件嵌套到哪个主窗口中,这个主窗口就是父窗口
第一步:创建一个标签对象用来显示登录界面的标题
QLabel(const QString &text, QWidget *parent = nullptr)
参数: text --》你的标签上要显示的文字信息
parent --》当前组件的父窗口指针
设置标签的属性--》位置坐标,宽高
void QWidget::setGeometry(int x, int y, int w, int h)
设置标签上的字体
void setFont(const QFont &)
参数:QFont --》QT中用来表示字体的一个类
QFont(const QString &family, int pointSize = -1)
参数: family --》字体的名字
pointSize --》字体大小
第二步:创建两个输入框对象
QLineEdit(QWidget *parent = nullptr)
参数:parent --》当前组件的父窗口指针
设置输入框的属性--》位置坐标,宽高
void QWidget::setGeometry(int x, int y, int w, int h)
设置密码隐藏/显示
void setEchoMode(QLineEdit::EchoMode)
参数: 枚举值 QLineEdit::Password 隐藏
QLineEdit::Normal 显示
设置字符长度
void setMaxLength(int)
设置输入框默认提示信息
void setPlaceholderText(const QString &)
设置样式
void setStyleSheet(const QString &styleSheet)
参数:styleSheet --》把qss语句当成字符串传递过来
第三步:创建两个按钮对象
QPushButton(const QString &text, QWidget *parent = nullptr)
参数: text --》你按钮上要显示的文字信息
parent --》当前组件的父窗口指针
- #include "loginwin.h"
- #include <QApplication>
- #include <QLabel>
- #include <QFont>
- #include <QLineEdit>
- #include <QPushButton>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- loginwin w;
- //给主窗口设置边框图片
- w.setStyleSheet("QMainWindow{border-image:url(C:/Users/PC/Desktop/share/3.jpg);}");
-
- //给你主窗口设置任务栏图标
- QIcon icon("C:/Users/PC/Desktop/share/wlh.jpg");
- w.setWindowIcon(icon);
-
- //给主窗口设置标题
- w.setWindowTitle("我用代码写的登录界面");
-
- //准备一个标签
- QLabel mylb("欢迎使用智能家居系统",&w);
- //设置标签的位置宽高
- mylb.setGeometry(200,30,400,100);
- //设置标签上的字体
- QFont myfont("楷体",24);
- mylb.setFont(myfont);
-
- //准备两个输入框
- QLineEdit namele(&w);
- QLineEdit passwdle(&w);
- namele.setGeometry(250,120,300,40);
- passwdle.setGeometry(250,200,300,40);
- //设置输入框的默认提示信息
- namele.setPlaceholderText("请输入用户名");
- passwdle.setPlaceholderText("请输入密码");
- //设置账号,密码最大位数
- namele.setMaxLength(8);
- passwdle.setMaxLength(8);
- //设置密码隐藏
- passwdle.setEchoMode(QLineEdit::Password);
- //设置样式
- namele.setStyleSheet("border-radius:15px;border:2px solid#ff0000;");
- passwdle.setStyleSheet("border-radius:15px;border:2px solid#ff0000;");
-
- //准备两个按钮
- QPushButton bt1("登录",&w);
- QPushButton bt2("注册",&w);
- bt1.setGeometry(260,280,80,50);
- bt2.setGeometry(460,280,80,50);
- bt1.setEnabled(false);
- w.show();
- return a.exec();
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。