背景图
背景图按比例缩放而不变形,需要把背景图片设置成image而不是background-image.
#page71{
image: url(:/images/insert7.png);
background-color: rgb(255, 255, 255);
background-size: contain;
}
注意事项:样式设置完后,容器中的元素会默认继承样式的属性,所以加背景图的时候可以在外层容器使用ID的形式#指定添加样式.
#page71{
}
弹窗测试
QMessageBox::information(this,"提示","登录成功");
QMessageBox::information(this,"提示", QString("高度为:%1").arg(te1Height));//te1Height为变量
QMessageBox::information(this,"提示2",QString::number(windowWid*0.533 - 30)+"<1.6");
//start
QMessageBox::information(this,"提示2",QString::number(windowWid)+"测试");
//end
显示隐藏的写法
头文件.h:
public:
//切换忘记密码
void pushToForget();
void pushBack();
源文件.cpp:
void MainWindow::collectionConnect(){
connect(ui->pushToForget,&QPushButton::clicked,this,&MainWindow::pushToForget);//忘记密码
connect(ui->pushBack,&QPushButton::clicked,this,&MainWindow::pushBack);
}
// 点击事件:切换登录和忘记密码
void MainWindow::pushToForget() {
ui->boxForget->setVisible(true);
ui->boxLogin->setVisible(false);
}
void MainWindow::pushBack() {
ui->boxForget->setVisible(false); // 切换显示状态
ui->boxLogin->setVisible(true); // 切换显示状态
}
增加阴影
// 加载阴影控件
#include <QGraphicsDropShadowEffect>
// 增加阴影
QGraphicsDropShadowEffect * effect= new QGraphicsDropShadowEffect;
effect->setBlurRadius(10);
QColor grayColor(128,128,128,80);//为了有透明度自定义一个颜色
effect->setColor(grayColor);
// effect->setColor(Qt::black);//正常写法
effect->setOffset(5,5);
ui->loadingbox->setGraphicsEffect(effect);
重写resizeEvent事件,实时处理布局问题
头文件.h
public:
explicit MainProject(QWidget *parent = nullptr,QString filePath=nullptr);
~MainProject();
void resizeEvent(QResizeEvent *event) override; // 获取宽度
源文件.cpp
//start--设置引导页的元素边距
void MainProject::resizeEvent(QResizeEvent *event) {
double windowWid = ui->page71->width();
ui->page71->setStyleSheet("QWidget{background-size: 100px 100px;width:100px;}");
QMessageBox::information(this,"提示2",QString::number(windowWid)+"测试");
if(windowWid<1200){
ui->page71->setStyleSheet("QWidget { background-size: " + QString::number(windowWid) + "; }");
}
else{
ui->page71->setMaximumHeight(windowWid * 9 / 16);
ui->page71->setMinimumWidth(windowWid/100*10);
}
}
//end--设置引导页的元素边距
获取窗口宽度
double windowWidth = this->width();
获取容器宽度
double windowWidth = ui->容器名->width();
样式问题收集
按钮
QPushButton{background:#536BD7;color:#ffffff; font-size:20px;border-radius:5;height:50px; width:300px; margin-top:0px;}
QPushButton:hover{background:#799EFF;color:#ffffff; font-size:20px;border-radius:5;}
在c++代码中的运用
ui->userSet1button->setStyleSheet(
"QPushButton{background:#f4f7ff;color:#545a72;
font-size:12px;border-radius:5;border:1px solid #f4f7ff;}"
"QPushButton:hover{background:#f4f7ff;color:#545a72;
font-size:12px;border-radius:5;border:1px solid #f4f7ff;}"
);