zoukankan      html  css  js  c++  java
  • 调整QT字体大小的一小段代码

    在做一些应用的时候,可能会随时动态的改变一些控件的大小(比如QLabel),如果控件里的文字的大小不随之变化的话,就很容易出现太小,或者超出控件的情况发生。

    可以使用下面的代码来调整控件字体的大小:

        int cellwidth=26;

        
    int fontsize=1;
        
    while(true)
        {
            QFont tmp(
    "Arial",fontsize);
            tmp.setPointSize(fontsize);
            QFontMetricsF fm(tmp);
            qreal pixelsWide 
    = fm.width("8");
            qreal pixelsHigh 
    = fm.height();
            
    if(pixelsWide>=cellwidth || pixelsHigh >= cellwidth)
                
    break;
            
    ++fontsize;
        }
        QFont font(
    "Arial",fontsize);

    上面的代码是要求一个存放个位数字的方形控件的字体大小。假定控件的宽和高背限制为cellwidth变量的值。

    然后逐次循环创建fontsize大小的字体,通过QFontMetricsF类取得该字体应用到某一段文字(这里用了“8”)的宽和高。再与之前的cellwidth进行比较,超过时结束循环。

    此时fontsize存的就是符合要求的字体大小了。。。。

    很简单的代码,很简单的需求,似乎不值得一提。:)不过且抛出这个砖块看看。。

    http://code.google.com/p/klsudoku
    Email: ttylikl@qq.com
    QQ群:106249 ( Sudoku 群) QQ群:94388010( C++ 群)
  • 相关阅读:
    Spring的两种代理JDK和CGLIB的区别浅谈
    抽象 工厂模式
    Mybatis总结面试题
    java抽象工厂模式
    java工厂设计模式
    java单例设计模式
    lombok基本使用
    HTML
    select查询操作(重要)五
    mysql的DML语言(需要背下来)(四)
  • 原文地址:https://www.cnblogs.com/ttylikl/p/1520755.html
Copyright © 2011-2022 走看看