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

五华网站建设 优帮云seo项目

五华网站建设 优帮云,seo项目,专业外贸网站制作,开传奇私服网站怎么做继续讲一些Qt开发中的技巧操作: 1.文字的分散对齐 有时候需要对文本进行分散对齐显示,相当于无论文字多少,尽可能占满整个空间平摊占位宽度,但是在对支持对齐方式的控件比如QLabel调用 setAlignment(Qt::AlignJustify | Qt::Align…

继续讲一些Qt开发中的技巧操作:
1.文字的分散对齐
有时候需要对文本进行分散对齐显示,相当于无论文字多少,尽可能占满整个空间平摊占位宽度,但是在对支持对齐方式的控件比如QLabel调用 setAlignment(Qt::AlignJustify | Qt::AlignVCenter)设置分散对齐会发现没有任何效果,这个时候就要考虑另外的方式比如通过控制字体的间距来实现分散对齐效果。

QString text = "测试分散对齐内容";
//计算当前文本在当前字体下占用的宽度
QFont font = ui->label->font();
int textWidth = ui->label->fontMetrics().width(text);
//显示文本的区域宽度=标签的宽度-两边的边距
int width = ui->label->width() - 12;
//需要-1相当于中间有几个间隔
int count = text.count() - 1;
//计算每个间距多少
qreal space = qreal(width - textWidth) / count;
//设置固定间距
font.setLetterSpacing(QFont::AbsoluteSpacing, space);
ui->label->setFont(font);
ui->label->setText(text);

2.设置动态库路径
Qt提供的设置动态库路径的方法setLibraryPaths是用来搜索插件动态库的,而不是程序直接依赖的动态库;很多人以为这个可以设置Qt的库或者程序中依赖的第三方库的路径,其实想想也知道,因为程序依赖这个库,找不到的话根本跑不起来,程序跑不起来怎么应用执行这个代码呢;Qt默认是可用通过setLibraryPaths的方式设置Qt插件的动态库目录位置,比如数据库插件sqldrivers,软键盘的插件库等等,因为这些库文件是真正在Qt程序跑起来以后通过插件形式去加载的;还可以通过qt.conf文件设置 Plugins=“config” 指定所有插件在可执行文件下的config目录下;要想设置程序直接依赖的动态库在其他目录,找遍所有也只有一个办法,那就是设置环境变量,除此别无他法。至于如何设置环境变量方式很多,比如手动在电脑上设置,或者搞个批处理文件执行命令行,在程序安装的时候自动执行,或者程序打包目录下用户手动运行这个批处理。最终找插件的路径其实就是这个 QT_PLUGIN_PATH 环境变量;设置插件的目录还可以通过在main函数最前面这样写来实现。


int main(int argc, char *argv[])
{//启动键盘,Qt默认键盘qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

3.进度条控件的文本
进度条控件如果设置的垂直方向,就算你设置了文本可见,会发现根本看不到进度文本,经过多方百折不挠的试探,以及查看其他大佬的文章,发现只要设置下border样式(border:1px solid #ff0000、border:none、border-style:solid、border-radius:0px 任意一种)就行,就可以把文本显示出来;
4.文件对话框的卡顿
我们在使用QFileDialog::getOpenFileName、QFileDialog::getExistingDirectory等方法时,有时候会发现首次打开很卡,尤其是在默认目录很多文件的时候,此时你可以考虑设置这些函数最末尾的参数为QFileDialog::DontUseNativeDialog,表示不采用本地系统对话框,这样的话会采用Qt的对话框,速度快很多,估计系统的对话框在打开的时候会做很多初始化加载处理;

QFileDialog::getOpenFileName(this, "", "", "", 0, QFileDialog::DontUseNativeDialog);
QFileDialog::getExistingDirectory(this, "", "", QFileDialog::DontUseNativeDialog);

5.滑块控件的进度颜色
滑块控件QSlider,如果设置的垂直样式,其进度颜色和剩余颜色,刚好和横向样式的颜色相反的,不确定这个是否是Qt的BUG,Qt各版本都存在这个现象

QSlider::groove:horizontal{
height:8px;
background:#FF0000;
}
QSlider::add-page:horizontal{
height:8px;
background:#FF0000;
}
QSlider::sub-page:horizontal{
height:8px;
background:#00FF00;
}
QSlider::handle:horizontal{
width:10px;
background:#0000FF;
}
QSlider::groove:vertical{
width:8px;
background:#FF0000;
}
QSlider::add-page:vertical{
width:8px;
background:#00FF00;
}
QSlider::sub-page:vertical{
width:8px;
background:#FF0000;
}
QSlider::handle:vertical{
height:10px;
background:#0000FF;
}

6.停靠窗体的排列
QMainWindow 在对停靠窗体进行排列的时候,有些不常用的设置容易遗忘,建议将QMainWindow 的头文件函数过一遍一目了然;

//设置允许各种嵌套比如上下排列左右排列非常灵活
//此设置会和下面的 setDockOptions 中的参数覆盖所以要注意顺序
//this->setDockNestingEnabled(true);
//设置停靠参数,不允许重叠,只允许拖动和嵌套
this->setDockOptions(AnimatedDocks | AllowNestedDocks);
//将底部左侧作为左侧区域,底部右侧作为右侧区域,否则底部区域会填充拉伸
this->setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
this->setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);

在这里插入图片描述
7.拖拽事件的坑
很多人以为拖曳只要在dropEvent事件就可以了,其实不行的,没有效果的,需要先在
dragEnterEvent事件中执行event->accept()才行,不然根本没有效果,很多人尤其是初学者都挂在这里,我在这里也掉过坑。

void frmMain::dropEvent(QDropEvent *event)
{QList<QUrl> urls = event->mimeData()->urls();
}
void frmMain::dragEnterEvent(QDragEnterEvent *event)
{if(event->mimeData()->hasFormat("application/xqabstractitemmodeldatalist")) {event->setDropAction(Qt::MoveAction);event->accept();} else {event->ignore();}
}
http://www.ds6.com.cn/news/73810.html

相关文章:

  • 在哪做网站便宜又好公司网页设计
  • 百度 安徽省工程建设信息网站东莞做网站的公司吗
  • 建筑营销型网站开鲁网站seo转接
  • 网站功能设计的内容百度网址大全网站
  • asp动态网站开发教程可以看封禁网站的浏览器
  • 怎么修复网站死链网站seo推广排名
  • 站长之家新网址天津seo外包团队
  • 德国 网站建设怎么自己找外贸订单
  • 做设计什么设计比较好的网站健康码防疫核验一体机
  • 旅者志 wordpress主题网站建设seo优化培训
  • 专业展馆展厅设计武汉seo网站优化技巧
  • 在虚拟机中如何做二级域名网站站内推广
  • 织梦网站主页网站seo优化方案项目策划书
  • 网站建设费用计入什么二级科目提交网站收录入口
  • 如何在手机上搭建网站seo软件工具箱
  • 标书制作软件免费版百度seo词条优化
  • 济南建设质量协会网站中国新闻社
  • 贵州贵州省住房和城乡建设厅网站正规接单赚佣金的平台
  • 青岛做网站的费用百度企业推广
  • 网络推广优化网站抖音广告代运营
  • 建设网站筛选网站供应商安卓手机游戏优化器
  • 嵊州做网站厦门网页搜索排名提升
  • 电子产品网站建设策划书什么是百度搜索推广
  • 优秀网站设计案例分析ppt和生活app下载安装最新版
  • 做环保网站案例分析百度信息流是什么
  • 下载网站如何做批量外链工具
  • 高新企业如何在税务网站做备案三亚百度推广开户
  • 自己做网站怎么选架构孝感seo
  • 绵阳手机网站制作巨量引擎广告投放平台官网
  • 网站模板 酒类百度广告怎么收费