要将信息输出到QLabel上,你可以在UI界面中添加一个QLabel控件,然后将每个触摸点的信息设置为QLabel的文本。以下是一种实现方法:
// 在你的MainWindow类中定义一个QLabel指针成员变量
private:
QLabel *infoLabel;
// 在MainWindow的构造函数中初始化QLabel并添加到布局中
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
// 其他代码...
infoLabel = new QLabel(this);
layout->addWidget(infoLabel);
// 其他代码...
}
// 修改重写的event函数,在其中更新QLabel显示信息
bool MainWindow::event(QEvent *event)
{
if (event->type() == QEvent::TouchBegin || event->type() == QEvent::TouchUpdate || event->type() == QEvent::TouchEnd)
{
QTouchEvent *touchEvent = static_cast<QTouchEvent*>(event);
const QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
QString infoText;
foreach(const QTouchEvent::TouchPoint &touchPoint, touchPoints)
{
infoText += "ID: " + QString::number(touchPoint.id()) + " Pos: " + touchPoint.pos().toString()
+ " State: " + QString::number(touchPoint.state()) + "\n";
}
infoLabel->setText(infoText);
}
return QWidget::event(event);
}
这样,当有多点触摸事件发生时,相关信息就会显示在你添加的QLabel上。
内容由零声教学AI助手提供,问题来源于学员提问