重庆 网站 建设 公司网络商城需要什么资质
news/
2025/10/5 18:45:01/
文章来源:
重庆 网站 建设 公司,网络商城需要什么资质,做网站和做app哪个难,wordpress带手机端对话框
消息对话框、字体对话框、颜色对话框、文件对话框
消息对话框
消息对话框提供了一个模态的对话框#xff0c;用来提示用户信息#xff0c;或者询问用户问题并得到回答
基于属性版本的API
使用该类调用构造函数#xff0c;构造一个类对象调用成员函数exec进入执行…对话框
消息对话框、字体对话框、颜色对话框、文件对话框
消息对话框
消息对话框提供了一个模态的对话框用来提示用户信息或者询问用户问题并得到回答
基于属性版本的API
使用该类调用构造函数构造一个类对象调用成员函数exec进入执行态对用户点击的按钮进行进一步处理即可通过对exec的返回值得到用户点击的按钮
QMessageBox::QMessageBox( //有参构造函数名QMessageBox::Icon icon, //图标const QString title, //对话框标题const QString text, //对话框提示信息文本QMessageBox::StandardButtons buttons NoButton, //对话框提供的按钮QWidget *parent nullptr) //父组件基于静态成员函数版本
由于静态成员函数独立于类对象而存在所以无需实例化对象直接通过类名进行调用静态成员函数版本提供四个分别是information()question()warning()critical()静态成员函数调用后之间展示对话框无需使用exec解析其中warning()
[static] QMessageBox::StandardButton //函数返回值类型返回的是对话框上用户按下的按钮QMessageBox::warning( //函数名QWidget *parent, //父组件const QString title, //对话框标题const QString text, //对话框文本内容QMessageBox::StandardButtons buttons Ok, //提供的按钮QMessageBox::StandardButton defaultButton NoButton) //默认按钮字体对话框、颜色对话框、文件对话框
字体对话框 字体对话框可以使用QFontDialog类提供的静态成员函数getFont来完成
当调用了该函数后就会弹出一个字体选择框该函数返回的是用户选择的字体
如果用户取消了选择则参数1为假如果用户选择了字体则参数1的值为真
所需类QFontDialog、QFont[static] QFont //函数返回值类型是用户选择的字体 该函数是一个静态成员函数QFontDialog::getFont( //函数名bool *ok, //返回用户是否选中字体const QFont initial, //初始字体QWidget *parent nullptr, //父组件const QString title QString()) //对话框标题颜色对话框 颜色对话框可以使用QColorDialog类中的静态成员函数getColor来调取颜色对话框该函数返回用户选中的颜色如果用户选择了取消则返回一个非法的颜色可以通过成员函数isValid来进行判断[static] QColor //返回用户选中的颜色 该函数是一个静态成员函数QColorDialog::getColor( //函数名const QColor initial Qt::white, //初始颜色QWidget *parent nullptr, //父组件const QString title QString()) //对话框标题文件对话框 文件对话框可以通过QFileDialog类中的静态成员函数来获取要打开的文件路径[static] QString //返回值类型是用户选中的文件的路径QFileDialog::getOpenFileName( //函数名QWidget *parent nullptr, //父组件const QString caption QString(), //对话框标题const QString dir QString(), //起始路径const QString filter QString(), //过滤器QString *selectedFilter nullptr) //默认选中的过滤器文件相关的操作
1 使用QFile类实例化一个对象通过该对象可以操作整个文件该类的构造函数需要给定文件的路径
2 可以使用exists函数判断文件是否存在如果存在则可以对文件进行相关操作
3 使用该类中的成员函数open函数用于打开文件打开时需要给定打开模式
4 可以使用read、readLine、readAll从文件中读取数据使用write函数将数据写入文件
5 使用成员函数close关闭文件
6 所需类QFile事件处理(核心机制)
事件处理简介
1. 什么是事件 (重点)
事件是由窗口系统或者自身产生的用以响应所发生的各类事情比如用户按下并释放了键盘或者鼠标、窗口因暴露而需要重绘、定时器到时而应有所动作等等从某种意义上讲事件比信号更原始甚至可以认为大多数信号其实都是由事件产生的。比如一个下压式按钮首先感受到的是鼠标事件在进行必要的处理以产生按钮下沉继而弹起的视觉效果之后才会发射 clicked()信号2.如何处理事件
1 当事件发生时首先被调用的是QObject类中的虚函数event()
2 作为QObject类的子类 QWidget类覆盖了其基类中的event()虚函数并根据具体事件调用具体事件处理函数
3 而这些事件处理函数同样也是虚函数也可以被 QWidget类的子类覆盖以提供针对不同窗口部件类型的事件处理
4 组件的使用者所关心的往往是定义什么样的槽处理什么样的信号而组件的实现者更关心覆盖哪些事件处理函数练习
完成键盘触发实践上下左右移动 .h文件
#ifndef WIDGET_H
#define WIDGET_H#include QWidget
#include QKeyEvent //键盘处理事件
#include QDebug
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();void keyPressEvent(QKeyEvent *event) override; //键盘按下事件处理函数void keyReleaseEvent(QKeyEvent *event) override; //键盘抬起事件处理函数
private:Ui::Widget *ui;
};
#endif // WIDGET_H
.cpp文件
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);
}Widget::~Widget()
{delete ui;
}
//键盘按下事件处理函数的定义
void Widget::keyPressEvent(QKeyEvent *event)
{//qDebug()键盘被按下了;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()-2);}break;case S: //下移{if(ui-label-y() this-height()){ui-label-move(ui-label-x(),0);}ui-label-move(ui-label-x(),ui-label-y()2);}break;case A: //左移{if(ui-label-x() 0-ui-label-width()){ui-label-move(this-height(),ui-label-y());}ui-label-move(ui-label-x()-2,ui-label-y());}break;case D: //右移{if(ui-label-x() this-width()){ui-label-move(0,ui-label-y());}ui-label-move(ui-label-x()2,ui-label-y());}break;}}实现对话框界面
#include widget.h
#include ui_widget.hWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_btn1_clicked()
{//调用QFontDialog类中的静态成员函数,getFont函数来调取系统提供的字体对话框bool ok; //用于接收用户是否选中了字体QFont f QFontDialog::getFont(ok, //返回是否选中字体QFont(黑体,12,12,false), //初始字体this, //父组件选择字体); //对话框标题//将选中的字体进行使用if(ok){//选中了字体,将字体设置到文本上//ui-textEdit-setFont(f);ui-textEdit-setCurrentFont(f);}else{//没选中字体QMessageBox::information(this,提示,您取消了选择字体,QMessageBox::Ok);}
}void Widget::on_btn2_clicked()
{//调用静态成员函数获取系统中的颜色对话框QColor c QColorDialog::getColor(QColor(pink), //初始颜色this, //父组件选择颜色); //对话框标题if(c.isValid()){//颜色合法直接使用//ui-textEdit-setTextColor(c);ui-textEdit-setTextBackgroundColor(c);}else{//颜色不合法QMessageBox::information(this,提示,您取消了选择颜色);}
}void Widget::on_btn3_clicked()
{QString filename QFileDialog::getOpenFileName(this, //父组件选择文件, //对话框标题C:\\Users\\W\\Desktop, //起始路径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(msg);//关闭文件file.close();
}void Widget::on_btn4_clicked()
{QString fileName QFileDialog::getSaveFileName(this,保存文件,./,Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*));qDebug()fileName;//设置取消保存文件if(fileName.isNull()){QMessageBox::information(this,提示,您取消了保存文件);return;}//实例化一个文件对象QFile file(fileName);//判断文件是否存在if(file.exists()){return;}ui-textEdit-toPlainText();
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928596.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!