QT5 VS自定義IP位址控制項生成及使用

2021-09-26 09:19:07 字數 2166 閱讀 3392

本文使用環境為qt5.9.7+vs2015,其他環境未做測試,大同小異。

vs新建qt自定義控制項類:

自動生成解決方案檔案

.修改qiplineedit.h

#pragma once

#include #include class qiplineedit : public qlineedit

;

qiplineedit.cpp

#include "qiplineedit.h"

#include #include #include #include #include #include qiplineedit::qiplineedit(qwidget *parent)

: qlineedit(parent)

|2[0-4][0-9]|1?[0-9])");

qhboxlayout *phbox = new qhboxlayout(this);

phbox->setspacing(10);

phbox->setcontentsmargins(0, 0, 0, 0);

for (int i = 0; i < 4; i++)

this->setreadonly(true);

}qiplineedit::~qiplineedit()

void qiplineedit::paintevent(qpaintevent *event)

}int qiplineedit::getindex(qlineedit *pedit)

return index;

}bool qiplineedit::eventfilter(qobject *obj, qevent *ev)

else if (strtext.length() == 3 || strtext.length() < 3 && strtext.toint() * 10 > 255)

}else if (strtext.length() == 2 && strtext.toint() * 10 < 255)

}return __super::eventfilter(obj, ev);

} break;

case qt::key_backspace:

}return __super::eventfilter(obj, ev);

} case qt::key_left:

}return __super::eventfilter(obj, ev);

} case qt::key_right:

}return __super::eventfilter(obj, ev);

} default:

break;

} }return false;

}void qiplineedit::settext(const qstring &strip)

else }

}bool qiplineedit::istextvalid(const qstring &strip)

(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b");

if (!rx2.exactmatch(strip))

return false;

return true;

}qstring qiplineedit::text() const

編譯生成.dll及.lib,拷貝.dll到對應vs安裝控制項目錄

拷貝qiplineedit.h及qiplineedit.cpp檔案到使用自定義控制項類的工程目錄並新增

現在我們可以在qt類介面編輯器中看到我們的控制項了,拖入直接使用。

到此ok,nice.

不過這樣也不屬於封裝,只是方便而已,後續再研究~

自定義控制項VS使用者控制項

winform中,使用者控制項 user control 繼承自 usercontrol,主要用於開發 container 控制項,container控制項可以新增其他controls控制項 自定義控制項 custom control 繼承自 control,主要用於開發windows控制項的最基本...

Qt 自定義控制項(電池)

閒著蛋疼就做了乙個簡單的自定義電池控制項。其實想了想還挺多地方可以用的啦。效果圖。通過公有方法可修改電量,設定警戒電量,設定是否正在充電,根據需要設定漸變色,圓角,步長。public bool setvalue double v bool setminvalue double v bool setm...

qt自定義控制項 2

環境 qtcreator 4.0.2 qt5.7.0 msvc 2013,32bit 步驟 1 在上篇文章的基礎上,我們在demo1自定義控制項類中新增如下 q enums m id q property qstring m id read get id write set id private q...