開發(fā)第一個APP 示例
約 510 字大約 2 分鐘
2025-07-17
示例應(yīng)用開發(fā)
實現(xiàn)一個顯示交互按鈕的簡單應(yīng)用。
項目創(chuàng)建
- 拉取應(yīng)用模板項目Example
- 使用擴展插件在指定位置創(chuàng)建應(yīng)用(未來擴展)
創(chuàng)建應(yīng)用主窗體
模板項目會默認創(chuàng)建 mainWindowService作為應(yīng)用主窗體;可以直接使用或創(chuàng)建自定義窗體繼承于TpMainWindow,并在主函數(shù)使用
創(chuàng)建一個按鈕
包含TpButton頭文件
#include "TpButton.h"聲明測試按鈕
TpButton *testButton_;初始化按鈕
testButton_ = new TpButton("測試按鈕", this);
testButton_->setSize(300, 70);
testButton_->move(150, 150);完整源碼
#ifndef __MAIN_WINDOW_SERVICE_H
#define __MAIN_WINDOW_SERVICE_H
#include "TpMainWindow.h"
#include "examplesAppGlobal.h"
#include "TpButton.h"
class mainWindowService
: public TpMainWindow
{
public:
mainWindowService();
virtual ~mainWindowService();
public:
virtual bool appChange(int32_t id, int32_t pid, int32_t rotate, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override;
protected:
virtual bool onResizeEvent(TpObjectResizeEvent *event) override;
virtual bool onRotateEvent(tpObjectRotateEvent *event) override;
virtual bool onActiveEvent(tpObjectActiveEvent *event) override;
private:
TpButton *testButton_;
};
#endif#include "mainWindowService.h"
mainWindowService::mainWindowService()
: TpMainWindow()
{
setStyleSheet(applicationDirPath() + "/../data/style.css");
setBackGroundColor(_RGB(128, 128, 128));
testButton_ = new TpButton("測試按鈕1", this);
testButton_->setSize(300, 70);
testButton_->move(150, 150);
}
mainWindowService::~mainWindowService()
{
}
bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t rotate, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require)
{
std::cout << "mainWindowService::appChange" << std::endl;
return true;
}
bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event)
{
std::cout << "mainWindowService::onResizeEvent" << std::endl;
return true;
}
bool mainWindowService::onRotateEvent(tpObjectRotateEvent *event)
{
std::cout << "mainWindowService::onRotateEvent" << std::endl;
return true;
}
bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event)
{
std::cout << "mainWindowService::onActiveEvent" << std::endl;
return true;
}編譯和運行
代碼編譯
cmake
make
make install啟動模擬器
TpWM運行應(yīng)用
./examplesApp運行結(jié)果
用開發(fā)-應(yīng)用示例.png)
版權(quán)所有
版權(quán)歸屬:TinyPiXOS
二維碼.png)