自学内容网 自学内容网

Qtgui编程基础

Qt简介 ( 框架5.9.8版本 )

Qt是源代码级的跨平台一次编写到处编译.一次开发的Qt应用程序可以移值到不同平台.

Qt体系架构

  1. Qt的整个设计都是以单根继承为主这跟java相同.所谓单根继承就是说所有的Qt类都有一个共同的祖先都是QObject
  2. QObject类后面有三个大的子类分别负责不同的功能它们是:
    1. QApplicaton:类管理图形用户界面应用程序和控制台程序的控制流和主要设置
    2. QWidget:是所有用户界面对象的基类,负责管理图形界面
    3. QLayout:负责管理所有图形界面的摆放方式(Qt布局)

(1)图形用户界面: QtGUI

(2)Qt核心库: QtCore

(3)Qt网络编程: QtNetwork

Qt体系架构图

QApplication类

Qt应用程序中,首先在main函数中创建QApplication对象,QApplication对象负责图像用户界面应用程序的控制流和主设置,通过调用该对象的exec()函数,进入事件循环处理,对来自窗口系统或其他的事件进行处理和调度,直到收到exit()或quit()结束。对于任何GUI应用,都有一个QApplication实例;对于非GUI应用,应该使用QCoreApplication。

基础窗口部件QWidget

QWidget类是Qt中其他所有用户界面窗口类的基类,包括QComboBox、QDialog,QDialogButtonBox,QDockWidget,QFocusFrame,QFrame,QGLWidget,QGroupBox, QLineEdit、QMainWindow等,它接收鼠标键盘消息,并在屏幕上绘制自己。每个QWidget实例按照Z序显示,子QWidget覆盖父QWidget。没有嵌入到父QWidget的QWidget称为Window(窗体)。通常一个Window包含一个边框和标题栏。

QApplication对象一般要定义一个主widget部件。Widgets是一种控件,也是一种容器,可以包含其他控件,任何widget都可以是任何widget的子对象

Ctrl+shift+s: 保存所有文件

qmake工程文件: 自动编译

工程文件里包含了qmake建立你的应用程序(或者库,插件)所需要的所有信息。你的工程所需的资源通常通过一系列的声明语句来描述,而简单的控制结构,可以实现在不同的平台和环境下,执行不同的编译流程

qmake工程文件是以.pro为扩展名

  1. 标签类 :QLabel

                  QLabel ::setPixmap

  1. 按钮类:QPushButton

                  QPushButton ::setIcon

                  QPushButton :: setIconSize

                  QPushButton :: setFocusPolicy

  1. 编辑框类 :QLineEdit

QPalette 调色板

  1. 调色板类:QPalette

setColor(QPalette::Background,Qt::black);

   //设置背景色

setBrush(QPalette::Background,QBrush(QPixmap("img/mainwindow.png")));

//用笔刷设置背景图片

qss--样式

绝对位置方式

  1. 这种方式是通过QWidge提供的setGeometry()函数来设置子窗口部件大小和在父窗口的位置
  2. 但是绝对位置方式缺点是:如果父窗口大小发生改变,子窗口部件无法做出相应变化

setGeometry()函数

  1. 指定子部件在父窗体中所处的位置和大小

void QWidget::setGeometry ( int x, int y, int w, int h )

参数说明:

x:表示子部件在父窗体行的位置

y:表示子部件在父窗体列的位置

w:表示子部件宽度

h:表示子部件的高度

QMessageBox类

QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的模式对话框。 消息框用于提供情报信息并且问一些简单的问题。

qss:

1.可以统一更改标签,按钮等的样式表

行内样式优先级高于qss

qss运用步骤

  1. 手动在rsource中创建 login.qss文件
  2. 添加到资源目录中
  3. 书写qss代码,将标签按钮等的样式表统一
  4. 运行qss代码

Qt槽函数


原文地址:https://blog.csdn.net/nnan77/article/details/140225712

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!