qfedu-qt-level/qtdemo03/mainwindow.cpp

54 lines
1.2 KiB
C++

#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this); // 显示UI界面
// // 为ui界面中的btn1按钮设置绑定
// connect(ui->btn1,&QPushButton::clicked,[&]{
// QMessageBox::about(this,"关于","ui中的按钮被点击了");
// });
// 退出事件绑定
connect(ui->exitAction,&QAction::triggered,[&]{
this->close();
});
}
MainWindow::~MainWindow()
{
delete ui; // 手动释放
}
void MainWindow::on_btn1_clicked()
{
// QLabel 显示图片
QPixmap pix;
pix.load(":/images/images/Sunny.jpg");
ui->label->setPixmap(pix);
}
void MainWindow::on_btn2_clicked()
{
// 显示网页内容
QString html = "<h1>一号标题</h1><a href='https://www.baidu.com'>百度</a>";
ui->label->setTextFormat(Qt::RichText); // 文本的格式为富文本
ui->label->setText(html);
ui->label->setOpenExternalLinks(true); // 支持内容中的 a 标签直接打开
}
void MainWindow::on_btn3_clicked()
{
// 显示动画
QMovie *movie = new QMovie(":/movies/images/mario.gif");
ui->label->setMovie(movie);
movie->start();
}