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

📄 advanced.h

📁 嵌入式Qt下的一个计算器源码
💻 H
字号:
/******************************************************************************** Copyright (C) 2000-2006 TROLLTECH ASA. All rights reserved.**** This file is part of the Phone Edition of the Qtopia Toolkit.**** Licensees holding a valid license agreement from Trolltech or any of its** authorized distributors may use this file in accordance with** the License Agreement provided with the Licensed Software.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Trolltech's Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.********** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifdef ENABLE_SCIENCE#ifndef ADVANCEDIMPL_H#define ADVANCEDIMPL_H#include <QPushButton>#include <QEvent>#include "../engine.h"#include "stdinputwidgets.h"class QRadioButton;class AdvancedButton : public QPushButton {public:    AdvancedButton(QWidget *p = 0) : QPushButton(p), inv(false) {	fontChange( font() );    }    void fontChange( const QFont &f ) {	QFontMetrics fm( f );	int fontHeight = fm.height();	setMinimumHeight( fontHeight * 2 );	fontSize10 = f.pixelSize();        if (fontSize10 == -1 )	    fontSize10 = f.pointSize();	fontSize05 = fontSize10 / 2;	ascent = fm.ascent();    }        virtual void advancedDrawLabel( QPainter *p, int x, int y ) = 0;    void setInversed(bool i) { inv = i; update(); repaint();}        void paintEvent(QPaintEvent *pe)    {        QPushButton::paintEvent(pe);        QPainter p(this);                int x = (width() - fontSize10) / 2;	int y = ((height() - fontSize10) / 2) + ascent;	if ( isDown() )	    x++, y++;	advancedDrawLabel(&p, x, y);    }protected:    bool inv;    int fontSize05, fontSize10, ascent;};class FormAdvanced:public DecimalInputWidget{    Q_OBJECTpublic:	FormAdvanced(QWidget * parent = 0);	virtual ~FormAdvanced();        QString interfaceName() { return QString(tr("Scientific")); };protected:        void init(int fromRow, int fromCol);        void showEvent ( QShowEvent * );private:	QPushButton *PBDel,*PBC;	QPushButton *PBMR,*PBMC,*PBMPlus;	QPushButton *PBPi, *PBE;	QPushButton *PBSin,*PBCos,*PBTan,*PBOneOverX;	QPushButton *PBLog,*PBFactorial;	AdvancedButton *PBLn,*PBSquare,*PBPow;        QPushButton *PBInverse;        QRadioButton *degree, *radians, *gradians;        bool IsInverse;private slots:	void DelClicked();	void CClicked();	void MRClicked();	void MPlusClicked();	void MCClicked();	void SinDegClicked();	void CosDegClicked();	void TanDegClicked();	void SinRadClicked();	void CosRadClicked();	void TanRadClicked();	void SinGraClicked();	void CosGraClicked();	void TanGraClicked();	void OneOverXClicked();	void LnClicked();	void FactorialClicked();	void SquareClicked();	void PowClicked();	void PiClicked();        void EClicked();        void LogClicked();        void InverseClicked();        void DegreeMode(bool);        void RadiansMode(bool);        void GradiansMode(bool);};#endif //ADVANCEDIMPL_H#endif //ENABLE_SCIENCE

⌨️ 快捷键说明

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