在我们的目标设备中,我们使用 -qws 参数运行 QtE 应用程序。要旋转屏幕,我们指定“-display Transformed:rot90”作为应用程序参数,效果很好。
但是,我们有一个在应用程序内旋转屏幕的功能,因此我们尝试 QScreen 中记录的以下 API:
QWSDisplay::setTransformation(QTransformedScreen::Rot90, 0);
但这个API根本不起作用。控制台输出中没有错误消息。
有谁知道这个 API 是怎么回事吗?我们还需要启用其他功能吗?
与其他qt文档相反,qt嵌入部分的文档确实很差。经过几天的摆弄,我终于解决了这个问题。
首先要做的是编译库-qt-gfx-transformed
选项(以及您需要的任何内容)。
然后编译应用程序,并使用已用于激活转换驱动程序的选项启动它。我实际上是这样开始的:
export QWS_DISPLAY=Transformed:Rot90:0
./app
作为测试,我实现了这个,以测试轮换是否有效:
class X : public QObject
{
Q_OBJECT
public :
X() :
QObject()
{
QTimer *t = new QTimer( this );
connect( t, SIGNAL(timeout()), this, SLOT(OnTimerEvent()));
t->start( 2500 );
}
public slots :
inline void OnTimerEvent()
{
static int v = 0;
++v;
QWSDisplay::setTransformation(v%4);
std::cout<<v<<std::endl;
}
};
所以,在计时器插槽中,我正在改变方向QWSDisplay::setTransformation功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)