Qt问题小结

使用Qt有一段时间了,下面将自己最近遇到的一些小问题进行小结,让自己的温习一下,也跟初学的朋友分享分享。1.QPainterPath类的united函数可以组合多个路径,使它们的边缘相连, 这个在QGraphicItem里面有个shape函数,它是用来定义Item的区域的,如果想让区域是不规则的话,可以把不同的路径进行组合。2.可以通过QFontMetrics的width函数取字符串对应的宽度,用ascent() + descent()函数来取字体的高度,用averageCharWidth ()求字体的平均字体宽度。3.重写QAbstractitemDelegate的sizeHint函数可以实现改变QListView的项的高度,还有If you reimplement this you must also reimplement paint().4.QLayout的setContentMargins函数可以设置布局内部部件与布局的左、上、右、下边缘间的距离。5.用setStyleSheet来设置部件的边框宽度,用setWindowFlags(Qt::FramelessWindowHint)不能消除部件的边框.6.用VS写QT程序,如果资源文件中加载一个跟以前一样的图片名的图片会失败.7.有定义slot函数的类一定要在定义中定义Q_OBJECT宏 不然在运行时会出现在connect的时候没有指定的slot的错误.8.QSrcollBar的宽度或高度由:vectical或:horizontal的width来指定,handle设置border-image时,宽度或高度将和背景的宽度或高度一样.9.QStyleOptionViewItem的值是QStyle::State_Selected时表示列表被选中,这时的rect才是选中的项的rect而State_Actived的rect是整个的rect.10.qt的模式对话框用exec,非模态对话框用show.11.setAttribute(Qt::WA_TranslucentBackground);后在paintEvent里绘制半透明颜色可以实现半透明窗口背景.12.linkClicked(const QUrl&)信号要调用webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);才能响应这个信号.13.qt默认情况下是英文的资源 可以用linguist工具打开.ts文件生成.qm文件,然后用QTranslator翻译并用app安装就可.14.让QTreeWidget自动适应列宽QHeaderView *pHeader = ui.treeWidget->header(); pHeader->setResizeMode(QHeaderView::ResizeToContents);.15.QWebview默认下不支持HTTPS网页,要安装支持的DLL,http://www.slproweb.com/products/Win32OpenSSL.html.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值