QT 常用类与组件

0 思维导图

QT 常用类与组件_第1张图片

1 信息调试类(QDebug)

#include "widget.h"
#include     //printf
#include       //qDebuf
using namespace std;   //cout

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //输出函数
    //使用方式1:
    printf("hello world\n");
    //使用方式2:
    cout << "你好" << endl;//UTF-8 有可能输出乱码,GBK可正确输出
    //使用方式3:
    qDebug("%s","hello world");    //类似于printf
    qDebug() << "你 好";            //类似于cout
}

Widget::~Widget()
{
}

2 按钮组件(QPushButton)

3 行编辑器类(QLineEdit)

4 标签类(QLabel)

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //1、使用一个无参构造添加一个按钮
    QPushButton *btn1 = new QPushButton; //无参构造(没有指定父组件)
    //btn1->show();//可以输出,但不在父组件内
    //给组件指定父组件,让其依附于界面而存在
    btn1->setParent(this);
    btn1->setText("按钮1");      //给组件设置文本内容
    qDebug() << btn1->size();   //界面大小
    btn1->resize(QSize(70,35)); //设置按钮组件的大小
    btn1->move(200,0);          //移动组件位置
    btn1->setStyleSheet("background-color:red;border-radius:10px;color:white");  //设置样式表
    //btn1->setEnabled(false);//设置使用状态(bool类型true/false)

    //2、构造一个按钮时,是定父组件
    QPushButton *btn2 = new QPushButton(this); //将当前界面设置成父组件(可以使用btn1作为父组件,那么btn2会在btn1中,但默认设置为this(当前界面))
    //btn2->setText("按钮2");
    btn2->resize(btn1->size());  //使用其他按钮的大小设置该组件的大小
    btn2->move(btn1->x(),80);    //将btn2移动到btn1下面80的位置
    btn2->setEnabled(false);     //设置为不可用状态
    btn2->setIcon(QIcon("D:/hqyj/QT/day1/02First/windowIcon.png"));  //设置图标

    //3、构造按钮时给定文本内容以及父组件
    QPushButton *btn3 = new QPushButton("按钮3",this);
    btn3->resize(btn1->size());
    btn3->move(btn2->x(),btn2->y()+50);
    btn3->setIcon(QIcon("D:/hqyj/QT/day1/02First/windowIcon.png"));

    //4、构造一个按钮,构造时给定父组件、文本内容、icon
    QPushButton *btn4 = new QPushButton(QIcon("D:/hqyj/QT/day1/02First/windowIcon.png"),
                                        "按钮4",this);
    btn4->resize(btn1->size());
    btn4->move(btn3->x(),btn3->y()+50);

    /************************************************************************************************/
    //1、构造一个行编辑器,构造时给定父组件
    QLineEdit *edit1 = new QLineEdit(this);
    //edit1->setText("请输入...");       //设置编辑器中的文本内容
    edit1->setPlaceholderText("QQ号码/手机/邮箱");   //设置编辑器的占位文本
    edit1->resize(200,40);              //设置尺寸
    edit1->move(btn1->x()+80,0);        //移动位置
    edit1->setEnabled(false);           //设置不可用状态

    //2、构造一个行编辑器,构造时,给定父组件以及文本内容
    QLineEdit *edit2 = new QLineEdit("啦啦啦啦啦,我是卖报的小行家",this);
    qDebug() << edit2->text();          //获取行编辑器中文本内容
    edit2->resize(edit1->size());
    edit2->move(edit1->x(),edit1->height()+20);
    edit2->setEchoMode(QLineEdit::Password); //设置回显模式

    /****************************************** QLabel ******************************************************/
    //1、实例化一个标签
    QLabel *lab1 = new QLabel("账户",this);
    lab1->resize(50,50);
    lab1->setStyleSheet("background-color:yellow");
    lab1->setPixmap(QPixmap("D:/hqyj/QT/day1/02First/windowIcon.png"));   //展示图片
    lab1->setScaledContents(true); //设置内容自适应

}

Widget::~Widget()
{
    delete ui;
}

你可能感兴趣的:(QT,#,QT练习,嵌入式学习,qt,c++,开发语言)