[英]Qt QComboBox,QSpinBox,QGraphicsScene and Gant diagram problem
我有一個問題是缺乏理解如何在 QComboBox、QSpinBox 和 QGraphicsScene 之間建立相互依賴關系,特別是我需要創建 Gant 的動態圖。 我需要執行以下操作:
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);
}
現在我需要解釋如何制作一個動態的 QGraphicsRectItem 長度。 我這樣做了:
QGraphicsRectItem *re = new QGraphicsRectItem ();
re - > setRect (50,100,50,50);
現在如何在旋轉框中選擇一個數字來將該長度設置為此 QGraphicsRectItem?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.