簡體   English   中英

Qt QComboBox,QSpinBox,QGraphicsScene 和甘特圖問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM