#include <QtCore>
#include <QtGui>
#include <QDesktopWidget>class QtHelper: public QObject
{public://设置为开机启动static void AutoRunWithSystem(bool IsAutoRun, QString AppName, QString AppPath){QSettings *reg = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat);if (IsAutoRun) {reg->setValue(AppName, AppPath);} else {reg->setValue(AppName, "");}}//设置编码为UTF8static void SetUTF8Code(){
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))QTextCodec *codec = QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForTr(codec);
#endif}//设置皮肤样式static void SetStyle(const QString &styleName){QFile file(QString(":/image/%1.css").arg(styleName));file.open(QFile::ReadOnly);QString qss = QLatin1String(file.readAll());qApp->setStyleSheet(qss);qApp->setPalette(QPalette(QColor("#F0F0F0")));}//加载中文字符static void SetChinese(){QTranslator *translator = new QTranslator(qApp);translator->load(":/image/qt_zh_CN.qm");qApp->installTranslator(translator);}//判断是否是IP地址static bool IsIP(QString IP){QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");return RegExp.exactMatch(IP);}//延时static void Sleep(int sec){QTime dieTime = QTime::currentTime().addMSecs(sec);while ( QTime::currentTime() < dieTime ) {QCoreApplication::processEvents(QEventLoop::AllEvents, 100);}}//窗体居中显示static void FormInCenter(QWidget *frm){int frmX = frm->width();int frmY = frm->height();QDesktopWidget w;int deskWidth = w.width();int deskHeight = w.height();QPoint movePoint(deskWidth / 2 - frmX / 2, deskHeight / 2 - frmY / 2);frm->move(movePoint);}//设置应用程序的字体static void SetFont(){QFont font("Courier", 10, QFont::Normal, false);QApplication::setFont(font);}//设置窗口  void  SetWindowFlags(Qt::WindowFlags type){setWindowFlags(Qt::WindowCloseButtonHint); //只要关闭按钮Qt::WindowStaysOnTopHint:  //总在最上面的窗口Qt::CustomizeWindowHint:  //自定义窗口标题栏,以下标志必须与这个标志一起使用才有效,否则窗口将有默认的标题栏Qt::WindowTitleHint  //显示窗口标题栏Qt::WindowSystemMenuHint  //显示系统菜单Qt::WindowMinimizeButtonHint  //显示最小化按钮Qt::WindowMaximizeButtonHint  //显示最大化按钮Qt::WindowMinMaxButtonsHint  //显示最小化按钮和最大化按钮Qt::WindowCloseButtonHint  //显示关闭按钮   Qt::FrameWindowHint:没有边框的窗口(常用)setWindowFlags(Qt::Tool | Qt::X11BypassWindowManagerHint)//隐藏任务栏显示//关闭按钮实现的功能{hide(); //进行界面隐藏,但是显示托盘,可通过点击托盘实现界面的重新显示quit(); //退出系统}}//绘制背景图片并且实现圆角效果(常用),重写绘画事件void paintEvent(QPaintEvent *){QPainter painter(this);QBrush brush;brush.setTextureImage(QImage(background_image)); //背景图片painter.setBrush(brush);painter.setPen(Qt::black);  //边框色painter.drawRoundedRect(this->rect(), 5, 5); //圆角5像素}//设置字体(字体风格,包括类型、大小、是否加粗、是否斜体等!)void SetFont(QWidget *Wgt){QFont font = this->font();font.setFamily("Courier");  //字体名称font.setPixelSize(16);  //字体点大小font.setPointSize(18);  //字体像素大小font.setBold(true);  //是否加粗font.setItalic(true);  //是否斜体font.setUnderline(true);  //是否下划线Wgt->setFont(font);//也可使用:setStyleSheet("text-align:center; font-size:18px; font-weight:bold; font-style:Courier; color:white; ");//setAlignment(Qt::AlignCenter);  //设置对齐方式}//全屏显示与还原    { showFullScreen();//遮挡任务栏              showMaximized() ;//遮挡任务 }void showMaximize()//不遮挡任务栏{//若已经最大化if(m_IsMax){//恢复界面位置,并设置按钮图标为最大化图标,提示“最大化”this->setGeometry(location);max_button->setIcon(QIcon("maxbtn"));max_button->setToolTip(tr("最大化"));} else {//设定当前界面的位置,还原时使用location = this->geometry();//获取桌面位置,设置为最大化,并设置按钮图标为还原图标,提示“还原”QDesktopWidget *desk = QApplication::desktop();this->setGeometry(desk->availableGeometry());max_button->setIcon(QIcon("restorbtn"));max_button->setToolTip(tr("restor"));}m_IsMax= !m_IsMax;}//QLineEdit内设置图片(QLineEdit::LeadingPosition 在左侧有图片,QLineEdit::TrailingPosition 在右侧有图片)void SetPicToLineEdit()//将带有图片的 action 添加到lineedit中即可{QAction *searchAction = new QAction(m_DateUi->m_StartlineEdit);searchAction->setIcon(QIcon("Image/MainFrm/zc.png"));m_DateUi->m_StartlineEdit->addAction(searchAction, QLineEdit::LeadingPosition);}{//设置label颜色QPalette pe;pe.setColor(QPallette::WindowText,Qt::red);label0->setPalette(pe);label0->setText(tr("请输入命令"));//设置dialog背景图片this->setAutoFillBackground(true);QPalette palette;palette.setBrush(QPalette::Background, QBrush(QPixmap("2.jpg")));setPalette(palette);//设置scrollAreascrollArea = new QScrollArea;scrollArea->setBackgroundRole(QPalette::Base);scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);scrollArea->setWidget(recv);//设置UTF8QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); }
}堆上创建的对象由于父窗口(对象)没释放,只会加载到对象树中不会直接释放,可以通过设置属性函数setAttribute()和值55让其直接释放,不用等到父对象释放才释放

windows 程序崩溃不弹窗设置 利用 批处理带起服务(弹窗后不关闭批处理带不起程序)LONG WINAPI HandleDefaultExceptionInfo(PEXCEPTION_POINTERS pExceptPtrs)
{return EXCEPTION_EXECUTE_HANDLER;
}int main()
{SetErrorMode(SEM_NOGPFAULTERRORBOX); SetUnhandledExceptionFilter(HandleDefaultExceptionInfo);//截断未处理异常防止错误对话框弹出
}
CSS文件如下  (stylesheet.css)QWidget#frmLogin,QWidget#frmPopup,QWidget#frmHostInfo,QWidget#frmLogout,QWidget#frmConfig,QWidget#frmData,QWidget#frmDefence,QWidget#frmHost,QWidget#frmMain,QWidget#frmPwd,QWidget#frmSelect,QWidget#frmMessageBox{border:1px solid #1B89CA;border-radius:0px;
}.QFrame{border:1px solid #5CACEE;border-radius:5px;
}QWidget#widget_title{background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QLabel#lab_Ico,QLabel#lab_Title{border-radius:0px;color: #F0F0F0;background-color:rgba(0,0,0,0);border-style:none;
}QLineEdit {border: 1px solid #5CACEE;border-radius: 5px;padding: 2px;background: none;selection-background-color: #1B89CA;
}QLineEdit[echoMode="2"] { lineedit-password-character: 9679;
}.QGroupBox{border: 1px solid #5CACEE;border-radius: 5px;
}.QPushButton{border-style: none;border: 0px;color: #F0F0F0;padding: 5px;   min-height: 20px;border-radius:5px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}.QPushButton[focusPolicy="0"] {border-style: none;border: 0px;color: #F0F0F0;padding: 0px;  min-height: 10px;border-radius:3px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}.QPushButton:hover{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}.QPushButton:pressed{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QPushButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{border-radius:0px;color: #F0F0F0;background-color:rgba(0,0,0,0);border-style:none;
}QPushButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(25, 134, 199, 0), stop:1 #5CACEE);
}QPushButton#btnMenu_Close:hover{background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(238, 0, 0, 128), stop:1 rgba(238, 44, 44, 255));
}QCheckBox {spacing: 2px;
}QCheckBox::indicator {width: 20px;height: 20px;
}QCheckBox::indicator:unchecked {image: url(:/image/checkbox_unchecked.png);
}QCheckBox::indicator:checked {image: url(:/image/checkbox_checked.png);
}QRadioButton {spacing: 2px;
}QRadioButton::indicator {width: 15px; height: 15px;
}QRadioButton::indicator::unchecked {image: url(:/image/radio_normal.png);
}QRadioButton::indicator::checked {image: url(:/image/radio_selected.png);
}QComboBox,QDateEdit{border-radius: 3px;padding: 1px 10px 1px 5px;border: 1px solid #5CACEE;
}QComboBox::drop-down,QDateEdit::drop-down {subcontrol-origin: padding;subcontrol-position: top right;width: 15px; border-left-width: 1px;border-left-style: solid;border-top-right-radius: 3px;border-bottom-right-radius: 3px;border-left-color: #5CACEE;
}QComboBox::down-arrow,QDateEdit::down-arrow {image: url(:/image/array_down.png);
}QMenu {background-color:#F0F0F0;margin: 2px;
}QMenu::item {  padding: 2px 12px 2px 12px;
}QMenu::indicator {width: 13px;height: 13px;
}QMenu::item:selected {color: #FFFFFF;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QMenu::separator {height: 1px;background: #5CACEE;
}QProgressBar {border-radius: 5px;text-align: center;border: 1px solid #5CACEE;
}QProgressBar::chunk {width: 5px; margin: 0.5px;background-color: #1B89CA;
}QSlider::groove:horizontal,QSlider::add-page:horizontal { background: #808080; height: 8px; border-radius: 3px;
}QSlider::sub-page:horizontal {height: 8px; border-radius: 3px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QSlider::handle:horizontal {width: 13px; margin-top: -3px; margin-bottom: -3px; border-radius: 6px;background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,stop:0.6 #F0F0F0, stop:0.778409 #5CACEE);
}QSlider::handle:horizontal:hover {background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #1B89CA);
}QSlider::groove:vertical,QSlider::sub-page:vertical {background:#808080; width: 8px; border-radius: 3px;
}QSlider::add-page:vertical {width: 8px;border-radius: 3px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QSlider::handle:vertical {height: 14px; margin-left: -3px;margin-right: -3px;border-radius: 6px;background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0, stop:0.778409 #5CACEE);
}QSlider::handle:vertical:hover {background: qradialgradient(spread: pad, cx: 0.5, cy: 0.5, radius: 0.5, fx: 0.5, fy: 0.5, stop: 0.6 #F0F0F0,stop:0.778409 #1B89CA);
}QScrollBar:vertical {width:10px; background-color:rgba(0,0,0,0%); padding-top:10px; padding-bottom:10px;
}QScrollBar:horizontal {height:10px; background-color:rgba(0,0,0,0%); padding-left:10px; padding-right:10px;
}QScrollBar::handle:vertical {width:10px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}QScrollBar::handle:horizontal {height:10px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}QScrollBar::handle:vertical:hover {width:10px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QScrollBar::handle:horizontal:hover {height:10px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QScrollBar::add-line:vertical {height:10px;width:10px;subcontrol-position: bottom; subcontrol-origin: margin;border-image:url(:/image/add-line_vertical.png);
}QScrollBar::add-line:horizontal {height:10px;width:10px;subcontrol-position: right;subcontrol-origin: margin;border-image:url(:/image/add-line_horizontal.png);
}QScrollBar::sub-line:vertical {height:10px;width:10px;subcontrol-position: top; subcontrol-origin: margin;border-image:url(:/image/sub-line_vertical.png);
}QScrollBar::sub-line:horizontal {height:10px;width:10px;subcontrol-position: left;subcontrol-origin: margin;border-image:url(:/image/sub-line_horizontal.png);
}QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical {width:10px;background: #C0C0C0;
}QScrollBar::add-page:horizontal,QScrollBar::sub-page:horizontal {height:10px;background: #C0C0C0;
}QScrollArea {border: 0px ;
}QTreeView,QListView,QTableView{border: 1px solid #5CACEE; selection-background-color: #1B89CA;selection-color: #F0F0F0;
}QTableView::item:selected, QListView::item:selected, QTreeView::item:selected {color: #F0F0F0;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QTableView::item:hover, QListView::item:hover, QTreeView::item:hover {color: #F0F0F0;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}QTableView::item, QListView::item, QTreeView::item {padding: 5px; margin: 0px;
}QHeaderView::section {padding:3px;margin:0px;color:#F0F0F0;border: 1px solid #F0F0F0;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}QTabBar::tab {border-bottom-left-radius:0px;border-bottom-right-radius:0px;color: #F0F0F0;min-width: 60px;min-height: 20px;padding: 3px 8px 3px 8px;margin:1px;background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5CACEE, stop:1 #4F94CD);
}QTabBar::tab:selected, QTabBar::tab:hover {background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1B89CA, stop:1 #1077B5);
}QStatusBar::item {border: 1px solid #5CACEE;border-radius: 3px;
}

Qt设置编码、样式文件、窗体居中和开机自启等方法相关推荐

  1. QT 设置QLabel文字竖直居中

    QT 设置QLabel文字竖直居中 设置水平居中是Qt::AlignCenter或Qt::AlignHCenter,竖直(vertical)是Qt::AlignVCenter. myLabel -&g ...

  2. phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法

    phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法 参考文章: (1)phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法 (2)https://www. ...

  3. 为QT添加qss样式文件

    代码 QFile file("my.qss"); file.open(QFile::ReadOnly); QString styleSh = tr(file.readAll()); ...

  4. QT 设置滚动条样式

    如果对于界面上拖入的一个控件做样式,可以这样写 QPushButton#choose{border-image:url(:/image/bom/big_button.png);font:13px;fo ...

  5. css设置按钮竖直方向居中_css实现垂直居中6种方法

    在一次次笔试,一次次的面试中,问到垂直居中的问题太多太多,但是我每一次回答,都好像都不能让面试官太满意,今天特意花点时间,整理一下css垂直居中问题. 1.如果是单行文本.看代码: Document ...

  6. Centos设置程序开机自启的方法

    [转]CentOS设置程序开机自启动的方法 转自:http://www.centos.bz/2011/09/centos-setup-process-startup-boot/ 在CentOS系统下, ...

  7. Qt设置背景图片方法

    本文主要介绍三种Qt设置背景图片的方法: 1.QPalette 2.重写paintEvent 3.设置Qss(Qt style sheet) 1.QPalette (1)示例 //.cppthis-& ...

  8. 银河麒麟踩坑笔记——sh文件设置开机自启

    背景: 在上一篇打包好QT程序后,项目还要求做成自动开机自启,于是再一次开始摸索如何开机自启.原本我以为是项很小很简单的工作,没想到在银河麒麟下如此艰难,甚至搞崩了两次系统,差点重装. 踩坑的方法: ...

  9. Window设置开机自启软件的几种方式

    开机无密码 1.WIN+R或者在运行中弹出窗口中输入Control Userpasswords2命令, 2.运行框中输入netplwiz后点击确定按钮(用户账户) 1. 最简单的方式 C:\Users ...

最新文章

  1. POJ1038 Bugs Integrated, Inc.
  2. 企业远程接入配置 不宜贪小失大
  3. java中如何关闭文件,在Java中捕获IOException后如何关闭文件?
  4. UIView中常用的方法
  5. redis 图片2进制保存_Redis数据结构底层的SDS了解吗
  6. docker中的mysql操作
  7. C++/CX:类的继承
  8. 【ZOJ】3380 Patchouli's Spell Cards
  9. Codeforces_448C 分治
  10. iOS平台一套完善的Crash Report解决方案
  11. 2019年春第八周作业
  12. JNA模拟复杂的C类型——Java映射char*、int*、float*、double*
  13. html添加js的代码注释,JavaScript 注释方法总结
  14. oracle导出报错00091,exp报错:EXP-00091 Exporting questionable statistics
  15. 阅读《Android 从入门到精通》(10)——单项选择
  16. 记录一下如何运行MDX文件
  17. csgo好友服务器延迟,CSGO国服新手入门-与好友一起游戏
  18. Linux磁盘扩展(非LVM+LVM)
  19. Swift基础之实现下拉变大和OC下拉变大上拉缩小Demo
  20. Windows7 旗舰版原版镜像下载

热门文章

  1. 大数据学习路线思维导图
  2. 最新 eCharts 世界地图国家名映射
  3. 【企业】零和博弈思维模式构建,互利共赢
  4. Win系统 - Windows10 该内存不能为 read
  5. 苹果电脑Android我的电脑,苹果电脑连接安卓手机怎么在电脑上找到手机文件?...
  6. Java实现能完成 加减乘除幂与阶乘 组合运算的计算器
  7. excel计算机一级打不开,【2人回答】Excel表格太大,电脑打不开如何解决?-3D溜溜网...
  8. The retrospective material for final English exam unit_3 disease
  9. windows系统中nginx图片服务器,windows nginx 图片服务器
  10. 免费Zblog站群采集管理插件工具