实现综合实例:简单文字处软件 (一)
学业繁重,更新缓慢。
本内容主要用于个人学习/复习QT简单入门控件
DAY ONE
创建项目



界面设计与开发
实现简单的菜单栏设计

本人并没有使用代码实现,而是用于使用UI设计师界面。

action条例

分类




设计控件(帮助)
设计帮助控件:
我们转到槽,填写如下代码:
这是一个基于QT6实现的文字处理软件,具备类似微软Office Word的功能。
该软件使用Qt框架开发,并利用QMessageBox组件显示关于信息。图片资源通过QPixmap加载,并调整大小以适应界面需求。
点击“关于QT 6”Action可以查看QT的相关信息。
void MainWindow::on_aboutAction_triggered()
{
QMessageBox WaShu(QMessageBox::NoIcon,tr("关于"),tr("这是一个基于QT6实现的文字处理软件\r\n具备类似微软Office Word的功能。"));
// 加载图片资源
QPixmap pixmap(":/img/1734176346662.png");
// 调整图片大小为50x100//Qt::KeepAspectRatio,你可以确保图像在缩放后仍然保持原有的比例。
//Qt::SmoothTransformation 是 Qt 框架中的一个枚举值,用于在缩放图像时应用平滑变换。这有助于减少图像缩放过程中可能出现的锯齿和像素化现象,从而使图像在视觉上更加平滑和自然。
QPixmap scaledPixmap = pixmap.scaled(100, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation);
// 将调整后的图片设置为QLabel的图标
WaShu.setIconPixmap(scaledPixmap);
WaShu.exec();
}
void MainWindow::on_action_QT6_Q_triggered()
{
QMessageBox::aboutQt(NULL,"关于QT 6");
}
我们接着布局,这次直接把工具栏加入。并把ACtion拖拽进去
并且创建三个combox (其中一个为QFontCombox)其中分别命名为frontcobox和sizecombox
拖入一个MidArea

我们写一个init()用于初始化我们的项目;
QList sizes = QFontDatabase::standardSizes();
for (int size : sizes) {
ui->sizeComboBox->addItem(QString::number(size));
}
//显示当前字体大小 QApplication::font().pointSize() 应用程序大小
ui->sizeComboBox->setCurrentIndex(ui->sizeComboBox->findText(QString::number(QApplication::font().pointSize())));
这段代码入图注释。
ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
这里初始化一下mdiArea,用于给mdiArea对象增加一个垂直滚动条和水平滚动条
完整代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
initMainWindow();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::initMainWindow()
{
//将字体大小放入COMBOX中
QList sizes = QFontDatabase::standardSizes();
for (int size : sizes) {
ui->sizeComboBox->addItem(QString::number(size));
}
//显示当前字体大小 QApplication::font().pointSize() 应用程序大小
ui->sizeComboBox->setCurrentIndex(ui->sizeComboBox->findText(QString::number(QApplication::font().pointSize())));
ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
}
void MainWindow::on_aboutAction_triggered()
{
QMessageBox WaShu(QMessageBox::NoIcon,tr("关于"),tr("这是一个基于QT6实现的文字处理软件\r\n具备类似微软Office Word的功能。"));
// 加载图片资源
QPixmap pixmap(":/img/1734176346662.png");
// 调整图片大小为50x100//Qt::KeepAspectRatio,你可以确保图像在缩放后仍然保持原有的比例。
//Qt::SmoothTransformation 是 Qt 框架中的一个枚举值,用于在缩放图像时应用平滑变换。这有助于减少图像缩放过程中可能出现的锯齿和像素化现象,从而使图像在视觉上更加平滑和自然。
QPixmap scaledPixmap = pixmap.scaled(100, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation);
// 将调整后的图片设置为QLabel的图标
WaShu.setIconPixmap(scaledPixmap);
WaShu.exec();
}
void MainWindow::on_action_QT6_Q_triggered()
{
QMessageBox::aboutQt(NULL,"关于QT 6");
}


浙公网安备 33010602011771号