基本的に、ダイアログウィンドウウィジェットに長方形を表示したいと思います。別の質問を参考にして、QLabelを使用してペイントするフレームワークを適応させようとしました(プロセスは全体的に非常に複雑に見えます)。
ダイアログボックスのクラスのメンバーを作成することから始めました。
QLabel* label;
ダイアログボックスのコンストラクター:
label = new QLabel(this);
label->setGeometry(20, 50, 50, 100);
それを機能させるために、ラベルで作成された「長方形」をウィジェットに表示するためのボタンをダイアログボックスに与えました。このボタンの「押された」信号を、次のことを行うスロットに接続しました。
QPixmap pixmap(50, 100);
pixmap.fill(QColor("transparent"));
QPainter painter(&pixmap);
painter.setBrush(QBrush(Qt::black));
painter.drawRect(20, 50, 50, 100);
label->setPixmap(pixmap);
update();
残念ながら、ボタンを押してもウィジェットに何も表示されません。ここで何が欠けていますか?