开发第一个APP
2025-07-17
示例应用开发
实现一个显示交互按钮的简单应用。
项目创建(自动创建目录结构)
- 拉取应用模板项目tinyPiXApp Example
- 使用扩展插件在指定位置创建应用(未来扩展)
创建应用主窗体
模板项目会默认创建 mainWindowService作为应用主窗体;可以直接使用或创建自定义窗体继承于tpFixScreen,并在主函数使用
创建一个按钮
包含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 "tpFixScreen.h"
#include "examplesAppGlobal.h"
#include "tpButton.h"
class mainWindowService
: public tpFixScreen
{
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()
: tpFixScreen()
{
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
启动模拟器
PiXWM
运行应用
./examplesApp
运行结果
