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

网站界面用什么做的ui设计网站开发

网站界面用什么做的,ui设计网站开发,云市场 wordpress,盐城网站建设科技有限公司继续讲一些Qt开发中的技巧操作#xff1a; 1.去掉切换按钮 QTabWidget选项卡有个自动生成按钮切换选项卡的机制#xff0c;有时候不想看到这个烦人的切换按钮#xff0c;可以设置usesScrollButtons为假#xff0c;其实QTabWidget的usesScrollButtons属性最终是应用到QTabWi…继续讲一些Qt开发中的技巧操作 1.去掉切换按钮 QTabWidget选项卡有个自动生成按钮切换选项卡的机制有时候不想看到这个烦人的切换按钮可以设置usesScrollButtons为假其实QTabWidget的usesScrollButtons属性最终是应用到QTabWidget的QTabBar对象上所以只要设置全局的QTabBar的这个属性关闭即可。为啥要设置全局的呢因为如果只是对QTabWidget设置了该属性而在QMainWindow窗体中QDockWidget合并自动形成的选项卡只有QTabBar对象导致依然是有切换按钮。 //对tabWidget设置无切换按钮 ui-tabWidget-setUsesScrollButtons(false); //对tabBar设置无切换按钮 ui-tabWidget-tabBar()-setUsesScrollButtons(false); //对整个系统的选项卡设置无切换按钮 QTabBar{qproperty-usesScrollButtons:false;} //设置选项卡自动拉伸 这玩意居然之前自动计算来设置原来内置了哇咔咔 QTabBar{qproperty-expanding:false;} //设置选项卡关闭按钮可见 QTabBar{qproperty-tabsClosable:true;} //还有其他属性参见QTabBar头文件有惊喜 //依旧是万能大法所有可视化类的 Q_PROPERTY 包含的属性都可以这样设置2.直接传样式文件 Qt设置样式表支持直接传入样式表文件路径亲测4.7到5.15任意版本通过查看对应函数的源码可以看到内部会检查是否是 ‘file:///’ 开头是的话则自动读取样式表文件进行设置无需手动读取。 //以前都是下面的方法 QFile qss(:/qss/qssStyle/MainStyle.qss);if (qss.open(QFile::ReadOnly)){QString style QLatin1String(qss.readAll());this-setStyleSheet(style);qss.close();}else{WriteLocalLog(qss open failed);} //其实一行代码就行 qApp-setStyleSheet(file:///:/qss/qssStyle/MainStyle.qss); //特别说明只支持qApp-setStyleSheet 不支持其他比如widget-setStyleSheet //像下面这样就不行 ui-widget-setStyleSheet(file:///:/qss/qssStyle/MainStyle.qss);3.设置字体 在Qt中设置字体这块我们经常都会经历一个误区本来是打算设置整个窗体包括子控件的字体大小的结果发现只有主窗体自己应用了字体而子控件没有其实是我们需要搞清楚我们设置给了谁。 //假设继承自父类类型QWidget的窗体myWidget作为主窗体,myWidget中有QLabelQPushButton等子控件默认字体12px //下面几种方法只会设置主窗体的字体子控件不会应用需要按个调用setFont QFont font; font.setPixelSize(20); this-setFont(font); this-setStyleSheet({font:26px;}); //this设置给了QWidget类型的窗体 this-setStyleSheet(QWidget{font:26px;}); //this设置给了myWidget的窗体 this-setStyleSheet(myWidget{font:26px;});//下面才是通过样式表设置整个控件子控件的字体 this-setStyleSheet(font:26px;); this-setStyleSheet(*{font:26px;}); this-setStyleSheet(QWidget*{font:26px;}); this-setStyleSheet(myWidget*{font:26px;}); //下面设置全局字体因为qApp是代表整个应用程序的 qApp-setFont(font);4.QImage超强 Qt中封装的QImage异常的强大提供了各种图片格式的转换还可以对每个像素的颜色值进行替换有时候我们需要将单色的图片换成另外一种颜色要注意的是如果带有透明值的颜色需要进行格式转化比如转成Format_ARGB32或者Format_RGBA8888 //pixel 函数获取像素点的颜色 setPixel 函数设置像素点的颜色 此函数任意Qt版本都有 //pixelColor 函数获取像素点的颜色 setPixelColor 函数设置像素点的颜色 此函数Qt5.6以后才有 //pixel函数取出来的是QRgb格式需要用 qRed qGreen qBlue qAlpha 进行转换 QImage image(test.png); image image.convertToFormat(QImage::Format_ARGB32); int width image.width(); int height image.height(); //遍历图像的每一个像素 for (int x 0; x width; x) {for (int y 0; y height; y){QString name image.pixelColor(x, y).name();//将白色以外的颜色全部替换成红色,比如证件照白底变红底牛吧if (name #ffffff){image.setPixelColor(x, y, Qt::red);}} } //保存文件 image.save(2.png);QImage 很有很多强大的功能在“qimage.h”中很多的接口多看看多试试。 5.巧用Qt的全局对象 Qt内置了很多全局的对象参数可以直接获取这样在使用的时候方便的不要不要的比如判断当前鼠标左键还是右键可以直接用qApp-mouseButtons()全局的鼠标坐标可以用QCursor::pos()还有我们常见的颜色色值等。 //在鼠标右键的地方弹出菜单如果菜单是QMenu而不是QAction则只能通过下面的方式弹出 if (qApp-mouseButtons() Qt::RightButton) {videoMenu-exec(QCursor::pos()); } //全局剪切板 qApp-clipboard(); //顶层控件对象集合 qApp-topLevelWidgets() //当前焦点所在控件 qApp-focusWidget() //当前平台名称 qApp-platformName() //调用系统蜂鸣器 qApp-beep() //打印当前Qt版本信息 qApp-aboutQt() //设置全局的鼠标样式 qApp-setOverrideCursor() //不使用系统的标准颜色字体等 QGuiApplication::setDesktopSettingsAware(bool on); QApplication app(argc, argv); //更多的全局对象属性等可以查阅 qguiapplication.h 头文件你会发现新大陆更多的全局对象属性等可以查阅 qguiapplication.h 头文件说不定有你要的惊喜。 6.信号槽断连 有时候需要暂时停止某个控件发射信号比如下拉框combobox添加数据的时候会触发当前元素改变信号或者停止信号槽之间的连接关系有多种处理推荐用 blockSignals 方法 //方法1先 disconnect 掉信号处理好以后再 connect 信号缺点很明显很傻如果信号很多每个型号都要这么来一次。 disconnect(ui-cbox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_cbox_currentIndexChanged(int))); for (int i 0; i 100; i) { ui-cbox-addItem(QString::number(i)); } connect(ui-cbox, SIGNAL(currentIndexChanged(int)), this, SLOT(on_cbox_currentIndexChanged(int))); //方法2先调用 blockSignals(true) 阻塞信号处理号以后再调用 blockSignals(false)恢复所有信号。 //如果需要指定某个信号进行断开那就只能用 disconnect 来处理。 ui-cbox-blockSignals(true); for (int i 0; i 100; i) { ui-cbox-addItem(QString::number(i)); } ui-cbox-blockSignals(false);7.低量数据就用sqlite Qt在数据库相关的应用中如果仅仅是单机版本没有特别的需要,建议就使用sqlite数据库尤其是一些单机版的嵌入式的千万级别以内的数据量只要客户不指定就用sqlite。Qt内置了sqlite数据库只需要发布的时候带上插件就行其他数据库要么还要带上动态库要么还需要创建数据源毕竟是内置的在速度上绝对无与伦比的出类拔萃几千万的数据量完全没问题而且速度和性能都还可以所以数据量建议千万级别以下着重注意数据库表和索引的设计sqlite数据库也有几个重大缺点不支持加密不支持网络访问不支持部分数据库高级特性不支持海量数据亿级别以上但是对于绝大部分Qt项目还是足够记住Qt中数据库支持友好度大致是 sqlite postgresql mysql odbc。
http://www.dnsts.com.cn/news/179142.html

相关文章:

  • it网站建设网络营销总结及体会
  • 上海做网站好的公司有哪些如何建网站费用多少
  • 主机做网站服务器注册公司没有场地怎么办
  • wordpress定时网站地图php与 wordpress
  • 凡科建站官网地址网站开发工作量及预算计算
  • 北京企业网站seo平台外贸平台有哪些比较好 免费
  • 昆山做轮胎网站a站
  • 苏州网站建设制作开发公司wordpress 加轮播图
  • 上栗县建设局网站wordpress调用文章标签
  • 广州市番禺区住房和建设局网站网站托管公司
  • 找钟点工做的网站台州椒江网站建设公司
  • 可以做软件的网站有哪些功能吗软件开发培训技术学校
  • asp.net 网站安全 检测做翻译 网站吗
  • 网上教学网站建设wordpress get_search_form()
  • 大量情侣网名网站天津机械网站建设模板
  • 上辽宁建设工程信息网站网页制作 视频教程
  • 余姚响应式网站建设怎么用云主机做网站
  • 我做的静态网站怎么发布到网上wordpress 后台
  • 龙岩市住房和城乡建设厅网站首页wordpress商务套餐
  • 建设网站要备案吗wordpress高级搜索
  • 外贸展示型模板网站seo常用分析的专业工具
  • 商赢网站建设wordpress读取mysql
  • 广州网站推广平台合肥做网站公司有哪些
  • 西安手机网站建站域名注册网站制作
  • 杨凌规划建设局网站怎样推荐企业建设网站和互联网推广
  • 门源县电子商务网站建设公司室内设计公司经营范围
  • 厦门网站制作案例dedecms的网站如何添加个引导页
  • 高端网站建设哪些好做it培训班
  • 电子商务网站建设实训报告文章郑州做网站网站建设费用
  • 淘宝网的网站设计特色全网营销推广案例