QT使用教程之布局和常用控件
推荐
在线提问>>
1、布局概述
Qt 提供了两种组件定位机制:绝对定位和布局定位。
绝对定位:需要提供组件的长高,坐标值。
布局定位:需要指定使用哪种布局(垂直、水平、网状、表格)
布局分类:
系统自带的四种布局,一般不使用。
widget中的四种布局,一般使用。
2、布局使用
登录页面绘制
页面切换功能:
3、QLabel使用
创建标签:
方式1:代码
QLabel *label = new QLabel(this);
方式2:ui
拖拽
显示文字/html
label->setText("这是代码创建的标签");
ui->label1->setText("
label->setText("这是代码创建的标签");
ui->label1->setText("<h1><a href=\"百度一下,你就知道\">百度</a></h1>");
ui->label1->setOpenExternalLinks(true);//设置连接可自动打开
显示图片
QPixmap pixmap;
pixmap.load(":/image/Luffy.png");
ui->label_image->setPixmap(pixmap);
显示动图
QMovie *movie = new QMovie(":/image/mario.gif");
ui->label_gif->setMovie(movie);
movie->start();
connect(ui->pushButton,&QPushButton::clicked,this,[=](){
movie->stop();
});
4、QLineEdit使用
创建QLineEdit
QLineEdit *edit =new QLineEdit(this);
设置内容
edit->setText("这是代码创建的编辑框");
获取内容
QString str = ui->lineEdit->text();
qDebug()<<str;< p="">
设置显示模式(显示,不显示,密码。。。。)
ui->lineEdit->setEchoMode(QLineEdit::Password);
设置显示的文本与输入框上下左右边界的间隔的像素数
ui->lineEdit->setTextMargins(100,0,0,0);
5、自定义控件
自定义控件一般是重复性使用的窗口或者窗口中的模块。
解决问题:将许多重复性使用的窗口或者窗口中的模块封装成自定义控件,可以减少创建次数,仅创建一次,使用时提升。
其他控件:
spinBox和horizontalSlider
6、栈容器的使用
绘制主要是通过拖拽
回调函数切换页面写法
ui->stackedWidget->setCurrentIndex(0);
connect(ui->pushButton,&QPushButton::clicked,this,[=](){
ui->stackedWidget->setCurrentIndex(0);
});
connect(ui->pushButton_2,&QPushButton::clicked,this,[=](){
ui->stackedWidget->setCurrentIndex(1);
});