我有一个问题,就是不了解如何在QComboBox、QSpinBox和QGraphicsScene之间建立相互依存关系,具体来说,我需要创建甘特的动态图表。我需要做以下几点:
1.根据选定的进程数量(如果选择了5个进程,只显示填写P1-P5进程的元素),只显示填充此数目的进程的元素。
2.对每个进程添加表示进程持续时间的长度(周期数)的QGraphicsRectItem,使其满足所选算法,从而指导添加到已经提到的QSpinBox中的信息。
我现在创建的代码如下所示,并通过对话框。我加入了所有的元素,如果有人能帮助我,他会非常感激的,谢谢你。
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->comboBox_2;
//Kreiranje scene
scene=new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
//Painter,velicina linija i boja
QPainter painter(this);
QPen mPen;
mPen.setColor(Qt::blue);
mPen.setWidth(3);
painter.setPen(mPen);
//X linija i strelice
scene->addLine(-470,50,300,50,mPen);
scene->addLine(280,70,300,50,mPen);
scene->addLine(280,30,300,50,mPen);
//Y linija i strelice
scene->addLine(-435,-285,-435,85,mPen);
scene->addLine(-435,-284,-420,-260,mPen);
scene->addLine(-435,-284,-448,-260,mPen);
//Text za procese
QGraphicsTextItem *text1 = scene->addText("Procesi", QFont("Arial", 14));
text1->setDefaultTextColor(Qt::blue);
text1->setPos(-415, -280);
//Text za broj ciklusa
QGraphicsTextItem *text2 = scene->addText("Broj ciklusa", QFont("Arial", 14));
text2->setDefaultTextColor(Qt::blue);
text2->setPos(165, 50);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
//Text za P1,P2,P3,P4,P5,P6,P7
QGraphicsTextItem *pro1 = scene->addText("P1", QFont("Arial", 9));
pro1->setDefaultTextColor(Qt::blue);
pro1->setPos(-467, -260);
QGraphicsTextItem *pro2 = scene->addText("P2", QFont("Arial", 9));
pro2->setDefaultTextColor(Qt::blue);
pro2->setPos(-467, -215);
QGraphicsTextItem *pro3 = scene->addText("P3", QFont("Arial", 9));
pro3->setDefaultTextColor(Qt::blue);
pro3->setPos(-467, -170);
QGraphicsTextItem *pro4 = scene->addText("P4", QFont("Arial", 9));
pro4->setDefaultTextColor(Qt::blue);
pro4->setPos(-467, -125);
QGraphicsTextItem *pro5 = scene->addText("P5", QFont("Arial", 9));
pro5->setDefaultTextColor(Qt::blue);
pro5->setPos(-467, -80);
QGraphicsTextItem *pro6 = scene->addText("P6", QFont("Arial", 9));
pro6->setDefaultTextColor(Qt::blue);
pro6->setPos(-467, -35);
QGraphicsTextItem *pro7 = scene->addText("P7", QFont("Arial", 9));
pro7->setDefaultTextColor(Qt::blue);
pro7->setPos(-467, 10);
}发布于 2022-06-18 07:18:24
现在,我需要解释如何生成动态QGraphicsRectItem长度。我做了这个:
QGraphicsRectItem *re = new QGraphicsRectItem ();
re - > setRect (50,100,50,50);现在,您如何选择一个数字在纺丝盒中,将长度设置为这个QGraphicsRectItem?
https://stackoverflow.com/questions/72657627
复制相似问题