⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phoneticlabel.h

📁 Motorola E680I QtE 词典软件NDIct源码。
💻 H
字号:
#include <qlabel.h>
#include <qpixmap.h> 
#include <qstring.h> 
#include <qbitmap.h>
class PhoneticLabel: public QLabel{

	public:
		PhoneticLabel(QWidget* parent):QLabel(parent)
		{
			convPhone=NULL;
		};
		QPixmap (*convPhone) (QChar src,int& wd);

		void drawContents ( QPainter * p )
		{
			QString txt=text();
    	QPixmap pm;
    	int x=0,y=0,wd=0;
    	int width=rect().width();
    	y=4;
    	for(unsigned int i=0;i<txt.length();i++)
    	{		
    		pm= convPhone(txt[i], wd);
    		if(x+wd>=width)
    		{
    			x=0;
    			y+=18;
    		}
    		if(wd>0)
    			p->drawPixmap(QPoint(x,y),pm);
    		else
    		{
    			p->drawText(x,y+12,(QChar)txt[i]);
    			wd=p->fontMetrics().width((QChar)txt[i]);
    		}
    		x += wd;
    	} 
      p->end();
		};
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -