我试图制作一个简单的绘图程序,其中当绘制的线条的颜色和大小发生变化时,' e'关键是按下来的。但是,当我尝试使用 function keyTyped() {
if (key === 'e') {
if (mouseY < 417) {
fill(0,0,255,100);
ellipse(mouseX,mouseY,5,5);
}
}
}
时,它只执行一次,导致绘制一个蓝点而不是改变整行。基本上,我需要知道的是如何在按住键时发生某些事情,因为它只会记录一次按键。这就是我到目前为止所做的:
function draw() {
if (mouseY < 417) {
noStroke();
fill(0,100);
ellipse(mouseX,mouseY,20,20);
}
}
而不是
ui->listView->setSelectionMode(QAbstractItemView::NoSelection);
connect(ui->listView, SIGNAL(clicked(QModelIndex)), this, SLOT(on_listview_clicked(QModelIndex)));
答案 0 :(得分:0)
您可以从draw()
功能中查看,如下所示:
function draw() {
if (keyIsPressed && key == 'e') {
noStroke();
fill(0,100);
ellipse(mouseX,mouseY,20,20);
}
}
或者您可以创建一个跟踪按键是否被按下的变量。将其从true
函数设置为keyPressed()
,并在false
函数中将其设置为keyReleased()
。然后检查draw()
函数中的变量。
可以在the reference找到更多信息。