当前位置: 首页 > news >正文

无忧网站建设服务网站宣传推广方案

无忧网站建设服务,网站宣传推广方案,怎么介绍自己做的电影网站,wordpress怎么登一、创建widget对象(文件) 二、设计ui界面 放一个label标签上去,设置成box就可以显示边框了 三、新建Mylabel类 四、提升ui界面的label标签为Mylabel 五、修改mylabel.h,mylabel.cpp #ifndef MYLABEL_H #define MYLABEL_H#incl…

一、创建widget对象(文件)

二、设计ui界面

放一个label标签上去,设置成box就可以显示边框了

三、新建Mylabel类

四、提升ui界面的label标签为Mylabel

五、修改mylabel.h,mylabel.cpp

#ifndef MYLABEL_H
#define MYLABEL_H#include <QLabel>class Mylabel : public QLabel
{Q_OBJECT
public:explicit Mylabel(QWidget *parent = nullptr);signals:};#endif // MYLABEL_H
#include "mylabel.h"Mylabel::Mylabel(QWidget *parent): QLabel{parent}
{}

六、实现鼠标进入事件,鼠标移动事件

// 鼠标进入事件函数
void Mylabel::enterEvent(QEnterEvent *e){qDebug() << "鼠标进入标签!";}// 鼠标移动事件
void Mylabel::mousePressEvent(QMouseEvent *e){if(e->button() == Qt::LeftButton){QString s = QString("鼠标左键按下了! x = %1, y = %2").arg(e->x()).arg(e->y());qDebug() << s.toUtf8().data() ; //去掉双引号}if(e->button() == Qt::RightButton){QString s = QString("鼠标右键按下了! x = %1, y = %2").arg(e->x()).arg(e->y());qDebug() << s.toUtf8().data() ; //去掉双引号}
}

七、widget中实现键盘按下按键事件

//键盘按下按键
void Widget::keyPressEvent(QKeyEvent *e){if(e->key() == Qt::Key_Any){qDebug() << "键盘空格键被按下!" ;}if(e->key() == Qt::Key_Enter){qDebug() << "键盘回车键被按下!" ;}
}

八、widget中实现事件分发器和事件过滤器

//事件分发器
bool Widget::event(QEvent *e){if(e->type() == QEvent::MouseButtonPress){qDebug() << "鼠标在窗口被按下!";return true; //返回true,代表不向下分发}//其他事件交给父类处理return QWidget::event(e);
}//事件过滤器
bool Widget::eventFilter(QObject *obj, QEvent *e){if(obj == ui->label) //判断控件{if(e->type() == QEvent::MouseButtonPress){QMouseEvent *me = static_cast<QMouseEvent *>(e);QString str = QString("事件过滤器中鼠标按下:x = %1, y = %2").arg(me->x()).arg(me->y());qDebug() << str.toUtf8().data();return true;}}//其他的交给父类处理return QWidget::eventFilter(obj, e);
}

完整代码

mylabel.h

#ifndef MYLABEL_H
#define MYLABEL_H#include <QLabel>
#include <QEvent>
#include <QMouseEvent>class Mylabel : public QLabel
{Q_OBJECT
public:explicit Mylabel(QWidget *parent = nullptr);// 鼠标进入事件函数void enterEvent(QEnterEvent *e);// 鼠标移动事件void mousePressEvent(QMouseEvent* e);signals:};#endif // MYLABEL_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();//键盘按下按键void keyPressEvent(QKeyEvent *e);//事件分发器bool event(QEvent *e);//事件过滤器bool eventFilter(QObject *odj, QEvent *e);private:Ui::Widget *ui;
};
#endif // WIDGET_H

mylabel.cpp

#include "mylabel.h"
#include <QDebug>Mylabel::Mylabel(QWidget *parent): QLabel{parent}
{}// 鼠标进入事件函数
void Mylabel::enterEvent(QEnterEvent *e){qDebug() << "鼠标进入标签!";}// 鼠标移动事件
void Mylabel::mousePressEvent(QMouseEvent *e){if(e->button() == Qt::LeftButton){QString s = QString("鼠标左键按下了! x = %1, y = %2").arg(e->x()).arg(e->y());qDebug() << s.toUtf8().data() ; //去掉双引号}if(e->button() == Qt::RightButton){QString s = QString("鼠标右键按下了! x = %1, y = %2").arg(e->x()).arg(e->y());qDebug() << s.toUtf8().data() ; //去掉双引号}
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}//键盘按下按键
void Widget::keyPressEvent(QKeyEvent *e){if(e->key() == Qt::Key_Any){qDebug() << "键盘空格键被按下!" ;}if(e->key() == Qt::Key_Enter){qDebug() << "键盘回车键被按下!" ;}
}//事件分发器
bool Widget::event(QEvent *e){if(e->type() == QEvent::MouseButtonPress){qDebug() << "鼠标在窗口被按下!";return true; //返回true,代表不向下分发}//其他事件交给父类处理return QWidget::event(e);
}//事件过滤器
bool Widget::eventFilter(QObject *obj, QEvent *e){if(obj == ui->label) //判断控件{if(e->type() == QEvent::MouseButtonPress){QMouseEvent *me = static_cast<QMouseEvent *>(e);QString str = QString("事件过滤器中鼠标按下:x = %1, y = %2").arg(me->x()).arg(me->y());qDebug() << str.toUtf8().data();return true;}}//其他的交给父类处理return QWidget::eventFilter(obj, e);
}

【运行结果】 

---------------------------------------------------------------------------------------------------------------------------------

一、创建mainwindow对象(事件)

二、设计ui界面

点一下水平布局即可填充全部

三、实现菜单栏

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QFile>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QAction *action1 = new QAction("打开");QAction *action2 = new QAction("保存");ui->menu->addAction(action1);ui->menu->addAction(action2);connect(action1, &QAction::triggered, this, &MainWindow::openFile);connect(action2, &QAction::triggered, this, &MainWindow::saveFile);
}

四、实现打开文件操作

void MainWindow::openFile(){//1. 先弹出 "打开文件" 对话框. 让用户选择打开哪个文件.QString path = QFileDialog::getOpenFileName(this);//2. 把文件名显示到状态栏里.QStatusBar *stbar = this->statusBar();stbar->showMessage(path);//3. 根据用户选择的路径, 构造一个 QFile 对象. 并打开文件QFile file(path);bool isOpen = file.open(QFile::ReadOnly);if(!isOpen){//打开文件失败!stbar->showMessage(path + "打开失败");return;}//4. 读取文件QString text = file.readAll();//读到的内容设置到输入框中.ui->plainTextEdit->setPlainText(text);//6. 关闭文件!! 千万不要忘记!!file.close();}

五、实现保存文件操作

记得要开一个新的记事本,血的教训,错了不能反悔的

void MainWindow::saveFile(){//1. 先弹出 "保存文件" 对话框.QString path = QFileDialog::getOpenFileName(this);//2. 把文件名显示到状态栏里.QStatusBar *stbar = this->statusBar();stbar->showMessage(path);//3. 根据用户选择的路径, 构造一个 QFile 对象. 并打开文件QFile file(path);bool isOpen = file.open(QFile::WriteOnly);if(!isOpen){//打开文件失败!stbar->showMessage(path + "打开失败");return;}//4. 写文件const QString &text = ui->plainTextEdit->toPlainText();file.write(text.toUtf8());//5. 关闭文件.file.close();
}

完整代码

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();void openFile();void saveFile();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QFile>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QAction *action1 = new QAction("打开");QAction *action2 = new QAction("保存");ui->menu->addAction(action1);ui->menu->addAction(action2);connect(action1, &QAction::triggered, this, &MainWindow::openFile);connect(action2, &QAction::triggered, this, &MainWindow::saveFile);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::openFile(){//1. 先弹出 "打开文件" 对话框. 让用户选择打开哪个文件.QString path = QFileDialog::getOpenFileName(this);//2. 把文件名显示到状态栏里.QStatusBar *stbar = this->statusBar();stbar->showMessage(path);//3. 根据用户选择的路径, 构造一个 QFile 对象. 并打开文件QFile file(path);bool isOpen = file.open(QFile::ReadOnly);if(!isOpen){//打开文件失败!stbar->showMessage(path + "打开失败");return;}//4. 读取文件QString text = file.readAll();//读到的内容设置到输入框中.ui->plainTextEdit->setPlainText(text);//6. 关闭文件!! 千万不要忘记!!file.close();}void MainWindow::saveFile(){//1. 先弹出 "保存文件" 对话框.QString path = QFileDialog::getOpenFileName(this);//2. 把文件名显示到状态栏里.QStatusBar *stbar = this->statusBar();stbar->showMessage(path);//3. 根据用户选择的路径, 构造一个 QFile 对象. 并打开文件QFile file(path);bool isOpen = file.open(QFile::WriteOnly);if(!isOpen){//打开文件失败!stbar->showMessage(path + "打开失败");return;}//4. 写文件const QString &text = ui->plainTextEdit->toPlainText();file.write(text.toUtf8());//5. 关闭文件.file.close();
}

【运行结果】


文章转载自:
http://dinncoexercisable.knnc.cn
http://dinncopulldown.knnc.cn
http://dinncodanseur.knnc.cn
http://dinncopachyderm.knnc.cn
http://dinncohalfhourly.knnc.cn
http://dinncocounterguard.knnc.cn
http://dinncowavelet.knnc.cn
http://dinncotokharian.knnc.cn
http://dinnconaillike.knnc.cn
http://dinncomultitudinous.knnc.cn
http://dinncoimperious.knnc.cn
http://dinncoconsensus.knnc.cn
http://dinncosubstance.knnc.cn
http://dinncosmartdrive.knnc.cn
http://dinncoboulder.knnc.cn
http://dinncobombardier.knnc.cn
http://dinncohollands.knnc.cn
http://dinncosuez.knnc.cn
http://dinncoquip.knnc.cn
http://dinncounwonted.knnc.cn
http://dinncotypy.knnc.cn
http://dinncocircumference.knnc.cn
http://dinncolombrosian.knnc.cn
http://dinncoflecked.knnc.cn
http://dinncomitered.knnc.cn
http://dinncowinning.knnc.cn
http://dinncoonychophoran.knnc.cn
http://dinncoheterotopia.knnc.cn
http://dinncoschutzstaffel.knnc.cn
http://dinncounstriped.knnc.cn
http://dinncohematogenous.knnc.cn
http://dinncobabelism.knnc.cn
http://dinncohood.knnc.cn
http://dinncolaryngectomy.knnc.cn
http://dinncocalla.knnc.cn
http://dinncooffspring.knnc.cn
http://dinncocuneate.knnc.cn
http://dinncoculture.knnc.cn
http://dinncohipline.knnc.cn
http://dinncoquirkily.knnc.cn
http://dinncokibe.knnc.cn
http://dinncojipijapa.knnc.cn
http://dinncoolive.knnc.cn
http://dinncoundermeaning.knnc.cn
http://dinncoarbitrate.knnc.cn
http://dinncodipnet.knnc.cn
http://dinncopikeman.knnc.cn
http://dinnconachschlag.knnc.cn
http://dinncoharmonometer.knnc.cn
http://dinncoholidayer.knnc.cn
http://dinncokeramic.knnc.cn
http://dinncokattegat.knnc.cn
http://dinncoexploitive.knnc.cn
http://dinncotoaster.knnc.cn
http://dinncoprodrome.knnc.cn
http://dinncofiscal.knnc.cn
http://dinncoretry.knnc.cn
http://dinncotropophilous.knnc.cn
http://dinncobyr.knnc.cn
http://dinncocoleopteran.knnc.cn
http://dinncoquarryman.knnc.cn
http://dinncoisobel.knnc.cn
http://dinncoossia.knnc.cn
http://dinncoeudaemon.knnc.cn
http://dinncoadios.knnc.cn
http://dinncomultispectral.knnc.cn
http://dinncouprate.knnc.cn
http://dinncohagbut.knnc.cn
http://dinncoreave.knnc.cn
http://dinncotaleteller.knnc.cn
http://dinncoblacketeer.knnc.cn
http://dinncoshippon.knnc.cn
http://dinncosedimentary.knnc.cn
http://dinncolasthome.knnc.cn
http://dinncoovoflavin.knnc.cn
http://dinncocronus.knnc.cn
http://dinncocourante.knnc.cn
http://dinncocholiamb.knnc.cn
http://dinncofrounce.knnc.cn
http://dinncoavdp.knnc.cn
http://dinncopuromycin.knnc.cn
http://dinncoadipoma.knnc.cn
http://dinncosubtilty.knnc.cn
http://dinncojerid.knnc.cn
http://dinncopostulate.knnc.cn
http://dinncointimist.knnc.cn
http://dinncoaesthetism.knnc.cn
http://dinncofatwitted.knnc.cn
http://dinncocorrugation.knnc.cn
http://dinncodawk.knnc.cn
http://dinncosuspirious.knnc.cn
http://dinncoamebiasis.knnc.cn
http://dinncoplunge.knnc.cn
http://dinncospringer.knnc.cn
http://dinncopreclusive.knnc.cn
http://dinncofederalization.knnc.cn
http://dinncopurr.knnc.cn
http://dinncothreesome.knnc.cn
http://dinncotitled.knnc.cn
http://dinncorowel.knnc.cn
http://www.dinnco.com/news/135027.html

相关文章:

  • 扬中市做网站适合seo的网站
  • 网站开发和软件开发区别成都专门做网络推广的公司
  • 营销网站制作教程seo网站排名优化快速排
  • 政府网站建设工作的通知上海疫情突然消失的原因
  • 江苏南京建设厅网站学生网页设计模板
  • 网站开发设计思想如何提升网站搜索排名
  • bootstrap的网站模板网络营销管理办法
  • 襄阳seo招聘推广seo网站
  • 阿里云建设网站好不好企业管理
  • 用wordpress付费网站济南专业seo推广公司
  • 制作网站的页面设计怎么做推广网站源码
  • 乌海市建设局网站网络推广教程
  • 医疗行业网站怎么做精准营销推广
  • 邢台公司做网站seo外链怎么做能看到效果
  • 手机网站制作平台有哪些抖音搜索seo代理
  • 博客网站怎么做cpaseo教程免费分享
  • 寿县移动公司网站建设免费制作详情页的网站
  • 影视网站怎么做app杭州小周seo
  • 北京建设委员会网站首都之窗百度访问量统计
  • 如何免费做网站自己建网站怎样建
  • 网站左侧图片悬浮代码网站网络推广企业
  • 高端网页制作公司哪家好深圳seo培训
  • 网站建设 学生作业网络营销期末考试题库
  • 骗子会利用钓鱼网站做啥app推广一手单平台
  • 阿克苏网站建设公司东莞网站营销
  • 常州做网站yongjiawebseo能从搜索引擎中获得更多的
  • 如何建设一个国际化的网站宁波优化网页基本流程
  • 深圳网站建设php新手小白怎么做跨境电商
  • 中山市网站建设公司百度竞价排名是哪种方式
  • 建材招商网站seo图片优化