QT——c++界面编程库

 非界面编程

QT编译的时候,依赖于 .pro 配置文件:

SOURCES: 所有需要参与编译的 .cpp 源文件

HEADERS:所有需要参与编译的.h 头文件

QT:所有需要参与编译的 QT函数库

.pro文件一旦修改,注意需要键盘按 ctrl+s 才能加载最新的配置文件

标准输出:QDebug 类

#include

qDebug() << 输出的数据;


qDebug() 是全局函数, 返回 QDebug 对象【 c++中的cout】

QT所有的类,以 Q 开头

第二个字母通常也大写

界面编程

使用QT界面,显示 hello world

查找函数

1:哪个类的

QT——c++界面编程库_第1张图片

2: CONTENTS       : 目录

3:类名 class:基础信息

#include :依赖的头文件

QT:依赖库文件,在 .pro 文件中 QT标签后面追加

Inherits: 基类

Inherits by :有哪些派生类

4:Public Functions:        类中所有公开函数

QWidget

比较底层的窗口类,是很多很多窗口类的基类
QWidget的函数,很多窗口继承

QWidget 类:一般作为一个复合型窗口的底座
一个窗口是复杂的,里面复合了很多子窗口
子窗口,都需要依赖底座父窗口去实现

QWidget就是底座功能

设置几何图形:
setGeometry(x,y,w,h) 左上角的坐标 x,y , 图形的宽度高度

获取 x轴坐标和y轴坐标:
int x() const
int y() const

 QLabel

这个窗口专门承载文字和图片

承载文字

1 设置文字 setText(“”)
2 获取文字 QString text()

调整文字格式

QFont 类对象 设置文字格式

QFont font
font.setBold(1) 设置文字是否粗体
font.setItalic(1) 设置文字是否斜体
font.setPointSize(int pointSize) 设置文字大小

将调整好的文字设置给 label

QLabel lb
lb.setFont(font)

 文字调整颜色

QPalette pe;
pe.setColor(QPalette::WindowText,Qt::red);//第一个参数是宏,设置label中哪部分的颜色

lb.setPalette(pe);

文字居中

 //lb.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
lb.setAlignment(Qt::AlignCenter);

承载图片

 QLabel lb;
 lb.setPixmap()

QLineEdit

文本编辑器,单行文本输入,支持设置占位文字和隐藏输入内容

使用代码输入/获取文字
setText(文字)
QString text()

设置占位文字
setPlaceholderText(占位文字)

 输入的文字隐藏
setEchoMode(宏定义)

#include 
#include 
#include 
#include 
#include 
#include
int main(int argc, char *argv[])
{
    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);
    // 创建 QLineEdit
    QLineEdit *lineEdit = new QLineEdit;
    layout->addWidget(lineEdit);
    // 创建按钮
    QPushButton *button = new QPushButton("Get Text");
    layout->addWidget(button);

    // 连接按钮点击信号到槽函数
    QObject::connect(button, &QPushButton::clicked, [lineEdit]() {
        QString text = lineEdit->text();  // 获取输入的文字
        qDebug() << "Text:" << text;
    });

    // 设置文字
    //lineEdit->setText("Hello, QLineEdit!");
    //lineEdit->setPlaceholderText("占位文字");
    //    lineEdit->setEchoMode(QLineEdit::Normal);//正常显示
    //   lineEdit->setEchoMode(QLineEdit::NoEcho);//不显示
    //    lineEdit->setEchoMode(QLineEdit::Password);//密码隐藏
    //lineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);//  输入的时候不隐藏,输完再隐藏.编辑完,指的是,操作对象不再是当前窗口,也就是所谓的 "失去焦点"

    window.show();
    return app.exec();  // 启动事件循环
}

QTextEdit

允许有回车的文本编辑器
多行文本输入,支持富文本和图片插入。

QString toPlainText()        获取文本编辑器中的文字
setText(文字)                设置文字

设置图片

依赖 html 格式的代码
html的语句,直接通过 setText 去设置
QT针对HTML语句做过简化,最终

te.setText("");

toHtml:将文本编辑器中的数据,转换成html语句

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);
    // 创建 QTextEdit
    QTextEdit *textEdit = new QTextEdit;
    layout->addWidget(textEdit);
    // 创建按钮
    QPushButton *button = new QPushButton("Insert Image");
    layout->addWidget(button);

    // 连接按钮点击信号到槽函数
    QObject::connect(button, &QPushButton::clicked, [textEdit]() {
        // 插入图片
        QTextCursor cursor = textEdit->textCursor();
        QImage image(":/path/to/image.png");  // 图片路径
        textEdit->document()->addResource(QTextDocument::ImageResource, QUrl("image"), image);
        cursor.insertImage("image");
    });

    window.show();
    return app.exec();
}

 

QPushButton

普通按钮

设置按钮文字
QPushButton btn
btn.setText("文字")

你可能感兴趣的:(qt,c++,开发语言)