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

网站制作案例价格搜索百度下载安装

网站制作案例价格,搜索百度下载安装,做网站需要哪些参考文献,电子请柬免费模板下载文章目录 前言一、头文件二、源文件三、qss文件四、效果 前言 在开发过程中,经常遇到使用文件选择框的情况,qt默认的文件选择框,样式可能与开发的桌面程序差异比较大.此时,我们可以自定义文件选择框,设置其样式,尽量做到样式统一. 一、头文件 #ifndef CUSTOMFILEDIALOG_H #d…

文章目录

  • 前言
  • 一、头文件
  • 二、源文件
  • 三、qss文件
  • 四、效果


前言

在开发过程中,经常遇到使用文件选择框的情况,qt默认的文件选择框,样式可能与开发的桌面程序差异比较大.此时,我们可以自定义文件选择框,设置其样式,尽量做到样式统一.

一、头文件

#ifndef CUSTOMFILEDIALOG_H
#define CUSTOMFILEDIALOG_H#include <QDialog>
#include <QFileDialog>
#include <QHBoxLayout>
#include <QMouseEvent>#include "mymessagedialog.h"namespace Ui {
class CustomFileDialog;
}class CustomFileDialog : public QDialog
{Q_OBJECTpublic:explicit CustomFileDialog(QWidget *parent = nullptr);~CustomFileDialog();void createFileDialog(QString);QStringList selectedFiles() const;signals:void selectFileSignal(QString);private slots:void on_minBtn_clicked();void on_closeBtn_clicked();void onFileDialogFinished(int);private:void init();void loadUI();private:Ui::CustomFileDialog    *ui;QFileDialog             *m_fileDialog = nullptr;QHBoxLayout             *hLayout;QPoint                  last = QPoint(0,0);QStringList             m_fileList;MyMessageDialog     *m_nonRulesMsgDialog = nullptr;protected:void mousePressEvent(QMouseEvent *);void mouseMoveEvent(QMouseEvent *);void mouseReleaseEvent(QMouseEvent *);
};#endif // CUSTOMFILEDIALOG_H

二、源文件

#include "customfiledialog.h"
#include "ui_customfiledialog.h"#include <QComboBox>
#include <QLineEdit>
#include <QDialogButtonBox>
#include <QDebug>CustomFileDialog::CustomFileDialog(QWidget *parent) :QDialog(parent),ui(new Ui::CustomFileDialog)
{ui->setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint);this->setWindowTitle("文件对话框");this->setWindowIcon(QIcon(":/logo.ico"));init();
}CustomFileDialog::~CustomFileDialog()
{if(m_nonRulesMsgDialog){delete m_nonRulesMsgDialog;m_nonRulesMsgDialog = nullptr;}delete ui;
}void CustomFileDialog::init()
{ui->label->setText("文件选择框");ui->minBtn->hide();//loadUI();
}void CustomFileDialog::createFileDialog(QString defaultDir){if(m_fileDialog == nullptr)m_fileDialog = new QFileDialog(ui->bodyWidget,"选择文件啊",defaultDir);m_fileDialog->setWindowFlags(Qt::FramelessWindowHint);m_fileDialog->setFileMode(QFileDialog::FileMode::ExistingFile);m_fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);m_fileDialog->setAcceptMode(QFileDialog::AcceptSave);m_fileDialog->setLabelText(QFileDialog::Accept, tr("选择"));m_fileDialog->setViewMode(QFileDialog::Detail);m_fileDialog->setNameFilter("W3060_*_V*.alx");//hLayout  = new QHBoxLayout;hLayout->addWidget(m_fileDialog);hLayout->setSpacing(0);hLayout->setMargin(0);ui->bodyWidget->setLayout(hLayout);//QLabel* lookinLabel = m_fileDialog->findChild<QLabel*>("lookInLabel");if (lookinLabel)lookinLabel->setText("文件目录:");QComboBox* fileTypeCombo = m_fileDialog->findChild<QComboBox*>("fileTypeCombo");if (fileTypeCombo)fileTypeCombo->setMinimumHeight(40);QComboBox* lookInCombo = m_fileDialog->findChild<QComboBox*>("lookInCombo");if (lookInCombo)lookInCombo->setMinimumHeight(40);QLineEdit* fileNameEdit = m_fileDialog->findChild<QLineEdit*>("fileNameEdit");if (fileNameEdit){fileNameEdit->setReadOnly(true);fileNameEdit->setMinimumHeight(40);}m_fileDialog->setLabelText(QFileDialog::FileName,"文件目录");m_fileDialog->setLabelText(QFileDialog::FileType,"文件类型");QDialogButtonBox *buttonBox = m_fileDialog->findChild<QDialogButtonBox *>("buttonBox");/*if (QPushButton *button = buttonBox->button(QDialogButtonBox::Open)){button->setStyleSheet("QPushButton{background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #00BAFF, stop: 1 #00A1FF);font-size: 12px;color: #FFFFFF;border-radius:2px;}""QPushButton:hover{background: #00C1FF;font-size: 12px;color: #FFFFFF;border-radius:2px;}""QPushButton:disabled{background: #F0F0F0;border: 1px solid #DDDDDD;font-size: 12px;color: #BBBBBB;border-radius:2px;}");button->setFixedSize(68, 30);}*/if (QPushButton *button = buttonBox->button(QDialogButtonBox::Save)){button->setStyleSheet("QPushButton{background-color: rgb(1,141,235);font-size: 20px;color: #FFFFFF;border-radius:2px;}""QPushButton:hover{background: rgb(1,141,235);font-size: 20px;color: #FFFFFF;border-radius:2px;}""QPushButton:disabled{background: #F0F0F0;border: 1px solid #DDDDDD;font-size: 20px;color: #BBBBBB;border-radius:2px;}");button->setFixedSize(68, 40);}if (QPushButton *button = buttonBox->button(QDialogButtonBox::Cancel)){button->setStyleSheet("QPushButton{border: 1px solid #DDDDDD;font-size: 20px;color: #666666;border-radius:2px;}""QPushButton:hover{font-size: 20px;color: #00A1FF;border: 1px solid #00A1FF;border-radius:2px;}""QPushButton:disabled{background: #F0F0F0;border: 1px solid #DDDDDD;font-size: 20px;color: #BBBBBB;border-radius:2px;}");button->setText("取消");button->setFixedSize(68, 40);}connect(m_fileDialog, SIGNAL(finished(int)), this, SLOT(onFileDialogFinished(int)));
}QStringList CustomFileDialog::selectedFiles() const
{return m_fileList;
}void CustomFileDialog::onFileDialogFinished(int result)
{if (result == QDialog::Accepted){//qDebug()<<"CustomFileDialog::onFileDialogFinished Accepted";m_fileList.clear();m_fileList = m_fileDialog->selectedFiles();QRegularExpression regex("^W3060_.*_V\\d+\\.\\d+\\.\\d+\\.alx$");for(const QString &selectedFile : m_fileList){QString text = selectedFile.section('/',-1);//qDebug()<<"text ="<<text;QRegularExpressionMatch match = regex.match(text);if(match.hasMatch()){//qDebug()<<"选中的文件符合规则";emit selectFileSignal(m_fileList.first());}else{//qDebug()<<"选中的文件不符合规则";if(m_nonRulesMsgDialog == nullptr){m_nonRulesMsgDialog = new MyMessageDialog;m_nonRulesMsgDialog->setCancleBtn(false);}m_nonRulesMsgDialog->setInfo("安装包不符合命名规则");m_nonRulesMsgDialog->setModal(true);m_nonRulesMsgDialog->show();}}//delete m_fileDialog;m_fileDialog = nullptr;delete  hLayout;QDialog::accept();}else{//qDebug()<<"CustomFileDialog::onFileDialogFinished reject";delete m_fileDialog;m_fileDialog = nullptr;delete  hLayout;QDialog::reject();}
}void CustomFileDialog::loadUI()
{QString fileName = QString(":/image/customFileDialog.qss");QFile file(fileName);if(file.open(QIODevice::ReadOnly)){QString str = QString::fromUtf8(file.readAll());this->setStyleSheet(str);file.close();}
}void CustomFileDialog::on_minBtn_clicked()
{this->showMinimized();
}void CustomFileDialog::on_closeBtn_clicked()
{delete m_fileDialog;m_fileDialog = nullptr;delete  hLayout;this->close();
}void CustomFileDialog::mousePressEvent(QMouseEvent *event)
{if(event->y() < ui->titleWidget->height()){last = event->globalPos();}
}void CustomFileDialog::mouseMoveEvent(QMouseEvent *event)
{if(event->y() < ui->titleWidget->height()){int dx = event->globalX() - last.x();int dy = event->globalY() - last.y();last = event->globalPos();this->move(this->x() + dx,this->y() + dy);}
}void CustomFileDialog::mouseReleaseEvent(QMouseEvent *event)
{if(event->y() < ui->titleWidget->height()){int dx = event->globalX() - last.x();int dy = event->globalY() - last.y();this->move(this->x() + dx,this->y() + dy);}
}

三、qss文件

#titleWidget{background-color:rgb(1,141,235)/*#4E69E1*/;
}#label{color:white;font:24px;
}
#closeBtn{border-image:url(:/image/sysclose.png);width:40px;height:40px;
}#minBtn{border-image: url(:/image/sysmin.png);width:40px;height:40px;
}#minBtn:hover{border-image: url(:/image/sysmin_hover.png);
}#minBtn:pressed{border-image: url(:/image/sysmin_hover.png);
}QLabel{font-size:20px;color:#666666;
}QComboBox::down-arrow{image: url(:/image/drop-down.png);padding-right:4px;
}QComboBox::down-arrow:on{image: url(:/image/drop-up.png);padding-right:4px;
}QComboBox::drop-down{background-color:rgb(255,255,255);
}QComboBox::drop-down:disabled,QComboBox:disabled{background-color:#f8f8f8
}QLineEdit,QComboBox{color: #666666;border: 1px solid #DDDDDD;border-radius:2px;
}QListView, QTreeView{outline: 0px;background-color:white;border: 1px solid #DDDDDD;color:#666666;selection-color:#666666;selection-background-color: #f6f6f6;border-radius:2px;
}QListView::item, QTreeView::item{height:30px;text-align:center;
}QListView::item:selected,QTreeView::item:selected{/*border: 1px solid #6a6ea9;*/background-color: #1e90ff;color : rgb(255, 255, 255);
}QScrollBar:horizontal{background: #ffffff;height: 20px;border-width:0px 10px 0px 10px;margin-left:6px;margin-right:20px;padding-left:14px;
}QScrollBar::handle:horizontal{background:rgb(1,141,235)/*#1c86ee*/;border-radius:3px;height: 20px;max-width:40px;
}QSplitter::handle {background-color: rgb(255, 255, 255);
}QScrollBar::sub-line:horizontal{/*background:transparent;*/width:20px;height:20px;subcontrol-position:left;subcontrol-origin:margin;
}QScrollBar::add-line:horizontal{/*background:transparent;*/width:20px;height:20px;subcontrol-position:right;subcontrol-origin:margin;
}QScrollBar:vertical {background: #ffffff;width: 20px;border-width:10px 0px 10px 0px;margin-top:7px;margin-bottom:0px;padding-top:17px;padding-bottom:24px;
}QScrollBar::handle:vertical {background:rgb(1,141,235)/*#1c86ee*/;border-radius:3px;width: 20px;
}QScrollBar::sub-line:vertical {width:20px;height:24px;subcontrol-position:top left;subcontrol-origin:margin;
}QScrollBar::add-line:vertical {width:20px;height:24px;subcontrol-position:bottom;subcontrol-origin:border;
}QHeaderView::section {    color: #333333;  height:18px;font-size:12px;  background-color: #f8f8f8;  border:1px solid #eeeeee;  border-left:none;border-top:none;  padding:6px 10px 1px 10px;
}  /*QHeaderView::down-arrow {image: url(~/image/drop-down.png);
}QHeaderView::up-arrow {image: url(~/image/drop-up.png);
} */QMenu{background-color:white;border-style:none;
}QMenu::item {font-size: 12px;color: #666666;background-color:#ffffff;padding:8px;
}QMenu::item:selected {background-color:#f6f6f6;color:#666666;
}QMenu::item:!enabled {background-color:white;color:#999999;
}QMenu::item:hover {color:#666666;
}QMenu::separator {height: 1px;background: #eeeeee;margin: 2px 5px 2px 10px;
}

四、效果

请添加图片描述

http://www.wangmingla.cn/news/93220.html

相关文章:

  • wordpress 导航模板优化关键词规则
  • 绵阳专门做网站的公司镇江网站建设推广
  • 做app网站的软件有哪些北京做网络优化的公司
  • 六种常见网络营销方法长春seo优化
  • 百度站长平台如何添加网站怎样能在百度上搜索到自己的店铺
  • seo蒙牛伊利企业网站专业性诊断如何做好网络营销
  • 中国核工业第五建设有限公司面试徐州seo排名收费
  • 营销型网站建设的资讯酒店网络营销方式有哪些
  • 自己做的网站怎么传到服务器百度收录要多久
  • linux版本的wordpress郑州网站排名优化公司
  • 晋江网站建设公司哪家好百度站长工具seo查询
  • wordpress评论点评榆林百度seo
  • 怎么键卖东西的网站汕头网站推广排名
  • 赶集网招聘最新招聘附近找工作seo查询友情链接
  • 网站建设价格标准报价班级优化大师头像
  • 局机关网站建设改进措施汕头seo不错
  • 广告片精彩花絮怎么样关键词优化
  • wap网站有哪些网站免费推广软件
  • 温州集团网站建设怎么做营销推广方案
  • 修改网站图标百度首页广告
  • 做交易网站需要多少钱个人优秀网页设计
  • 营销型网站建设论文交换链接的方法
  • 与魔鬼做交易的真实网站百度贴吧怎么做推广
  • java营销网站建设时事新闻热点
  • 个人网站 公安局备案seo原创工具
  • 手机网站建设价位北京网站优化方案
  • 设计师素材网站开发无锡网站制作无锡做网站
  • 用php怎么做网站百度知道灰色词代发收录
  • 高端做网站多少钱网络推广营销
  • 盐城建设银行网站全网关键词优化公司哪家好