zoukankan      html  css  js  c++  java
  • QCombox下拉框宽度调整

    一.如图效果

       

     二、代码

       一定记得引用头文件#include<QAbstractItemView>,否则无法设置宽度,又无明显提示错在何处。

    #include<QAbstractItemView>
    void SerialPortWidget::initPortName()
    {
        QString port_name="";
        QString space="";
        foreach(const QSerialPortInfo &portinfo,QSerialPortInfo::availablePorts())
        {
           port_name=portinfo.portName();      
           space.fill(' ',12-port_name.length());
           cmbPortName->addItem(port_name+space+portinfo.description());
    
        }
        //cmbPortName->setCurrentIndex(1);
    
        comboxDropDownFitWidth();
    
    }
    
    void SerialPortWidget::comboxDropDownFitWidth()
    {
        int maxLen=0;
        int count=cmbPortName->count();
        for(int i=0;i <count;i++)
        {
            if(maxLen < cmbPortName->itemText(i).length())
            {
               maxLen = cmbPortName->itemText(i).length();
            }
    
        }
    
        int ptVal = this->font().pointSize();//获取字体的磅值
        cmbPortName->view()->setFixedWidth(maxLen*ptVal*0.75);//(字符数*每个字符的宽度(磅)*0.75)个像素
        
    }
  • 相关阅读:
    搜索框用定时器限制发送请求
    vue的生命周期,钩子函数
    事件委托的实现流程
    在vscode中快速生成vue模板
    JS继承
    各种宽高
    ES6新特性
    python入门学习一
    字符编码
    npm install --save 与 npm install --save-dev 的区别
  • 原文地址:https://www.cnblogs.com/ike_li/p/12418799.html
Copyright © 2011-2022 走看看