对话框练习
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
//字体按钮
void Widget::on_ztbtn_clicked()
{
//调用QFontDialog类中的成员函数, 字体对话框、
bool ok; //用于接受用户是否选择了字体
QFont f = QFontDialog::getFont(&ok, //返回是否选中字体
QFont("隶书",10,10,false), //初始字体
this, //父组件
"选择字体"); //对话框标题
//将选择的字体进行使用
if(ok)
{
//ui->textEdit->setFont(f);
ui->textEdit->setCurrentFont(f);
}else
{
QMessageBox::information(this,"提示","您取消了选择");
}
}
//颜色按钮
void Widget::on_ysbtn_clicked()
{
QColor c = QColorDialog::getColor(QColor("white"),
this,
"选择颜色");
if(c.isValid())
{
//ui->textEdit->setTextColor(c);
ui->textEdit->setTextBackgroundColor(c);
}else
{
QMessageBox::information(this,"提示","取消选择");
}
}
//打开文件 槽
void Widget::on_dkbtn_clicked()
{
//调用静态成员函数获取选中路径
QString fileName = QFileDialog::getOpenFileName(this, //父组件
"选择文件", //对话框标题
"./", //起始路径
"Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器
if(fileName.isNull())
{
QMessageBox::information(this,"提示","取消文件");
return ;
}
//输出文件路径
qDebug() << fileName;
//实例化一个文件对象
QFile file(fileName); //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象
//判断文件是否存在
if(!file.exists())
return;
//打开文件
if(!file.open(QFile::ReadWrite))
return;
//读取文件中的内容
QByteArray msg = file.readAll();
//将内容展示到ui界面
ui->textEdit->setText(QString::fromLocal8Bit(msg));
//获取文本编辑器的内容
//ui->textEdit->toPlainText();
}
void Widget::on_bcbtn_clicked()
{
//调用静态成员函数获取选中路径
QString fileName = QFileDialog::getSaveFileName(this, //父组件
"保存", //对话框标题
"./", //起始路径
"Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器
if(fileName.isNull())
{
QMessageBox::information(this,"提示","取消文件");
return ;
}
//输出文件路径
qDebug() << fileName;
//实例化一个文件对象
QFile file(fileName); //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象
//判断文件是否存在
if(!file.exists())
return;
//打开文件
if(!file.open(QFile::ReadWrite))
return;
// //读取文件中的内容
//QByteArray msg = file.readAll();
//获取文本编辑器的内容
QString msg = ui->textEdit->toPlainText();
//将内容展示到ui界面
//ui->textEdit->setText(QString::fromLocal8Bit(msg));
file.write(msg.toUtf8());
file.close();
}
移动目标
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
//键盘按下
void Widget::keyPressEvent(QKeyEvent *event)
{
//qDebug() << "键盘被按下了" << event->text() << "键值: " << event->key();
switch(event->key())
{
case 'W':
{
if(ui->label->y()<=0-ui->label->height())
{
ui->label->move(ui->label->x(),this->height());
}
ui->label->move(ui->label->x(),ui->label->y()-3);
}
break;
case 'S':
{
if(ui->label->y()>=this->height())
{
ui->label->move(ui->label->x(),0-ui->label->height());
}
ui->label->move(ui->label->x(),ui->label->y()+3);
}
break;
case 'A':
{
if(ui->label->x()<=0-ui->label->width())
{
ui->label->move(this->width(),ui->label->y());
}
ui->label->move(ui->label->x()-3,ui->label->y());
}
break;
case 'D':
{
if(ui->label->x()>=this->width())
{
ui->label->move(0-ui->label->width(),ui->label->y());
}
ui->label->move(ui->label->x()+3,ui->label->y());
}
break;
}
}
XMind