日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件

通過對(duì)一個(gè)已經(jīng)存在的Qt窗口部件進(jìn)行子類化或者直接對(duì)QWidget進(jìn)行子類化,就可以創(chuàng)建自定義窗口部件。以下直接對(duì)已有的Qt窗口部件進(jìn)行子類化:

如下通過對(duì)QLineEdit進(jìn)行子類化來實(shí)現(xiàn)自已需要的窗口部件,參考代碼如下:

/**********************子類化的頭文件*****************************/

#ifndefLINEEDIT_H

#defineLINEEDIT_H

#include<QLineEdit>

#include<QMouseEvent>

classLineEdit:publicQLineEdit

{

Q_OBJECT

public:

explicitLineEdit(QObject*parent=0);

protected:

voidmouseDoubleClickEvent(QMouseEvent*);

};

#endif//LINEEDIT_H

/**********************子類化的源文件*****************************/

#include"lineedit.h"

#include<QMessageBox>

LineEdit::LineEdit(QObject*parent)

{

}

//重新實(shí)現(xiàn)QLineEdit類的mouseDoubleClickEvent(QMouseEvent*event)

//事件處理函數(shù),從而達(dá)到雙擊LineEdit的時(shí)候會(huì)有一個(gè)消息框彈出

voidLineEdit::mouseDoubleClickEvent(QMouseEvent*event)

{

QMessageBox::information(this,tr("提示"),tr("你是對(duì)的!"));

event->ignore();

}

以上是我自己實(shí)現(xiàn)的自己的一個(gè)LineEdit類,我雙擊這個(gè)LineEdit控件,就會(huì)彈出個(gè)消息框出來。

首先建一個(gè)工程,把上面的兩個(gè)文件放到工程目錄下面,然后來實(shí)現(xiàn)自己的代碼:

/**********************主窗口的頭文件*****************************/

#ifndefMYWIDGET_H

#defineMYWIDGET_H

#include<QWidget>

#include"lineedit.h"

classMyWidget:publicQWidget

{

Q_OBJECT

public:

explicitMyWidget(QWidget*parent=0);

private:

LineEdit*lineedit;

};

#endif//MYWIDGET_H

/**********************主窗口的源文件*****************************/

#include"mywidget.h"

#include<QHBoxLayout>

MyWidget::MyWidget(QWidget*parent):

QWidget(parent)

{

lineedit=newLineEdit;

QHBoxLayout*hlayout=newQHBoxLayout;

hlayout->addWidget(lineedit);

setLayout(hlayout);

}

/**********************顯示主窗口的源文件*****************************/

#include<QApplication>

#include<QTextCodec>

#include"mywidget.h"

intmain(intargc,char*argv[])

{

QApplicationapp(argc,argv);

QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

MyWidget*mywidget=newMyWidget;

mywidget->show();

returnapp.exec();

}

以下是運(yùn)行后的一個(gè)效果:

說明:以上只是個(gè)測(cè)試程序,沒有實(shí)際應(yīng)用價(jià)值,具體的應(yīng)用還在于實(shí)際工作中的需求。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉