0

助けてくれてありがとう〜いくつかのqlabelの領域でdirectx(d3d)を使用してビデオを再生する必要があるため、winid()メソッドを呼び出してラベルwinIdを取得する必要があります。しかし、これを行うと、別の問題が発生します〜

カスタム ボタンの paintEvent は、FramelessWindowHint でウィンドウ フラグを設定するときに winid() のみを呼び出すと、updata() を呼び出した後に実行できません。

そのように:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    HWND hwnd =  (HWND)(ui->label->winId());// here
    setWindowFlags(Qt::FramelessWindowHint);// and here
    QString playBackPre = "_playBack";
    //do my custom button init; the button will draw an pic when press ?enter or leave
    ui->pushButton->setImages(playBackPre, 1);
    ui->pushButton_2->setImages("_quanJin", 1);
}

助けてください、どうもありがとう!

4

1 に答える 1

-1

私はそれを解決しましたが、これはQtのバグだと思います。

呼び出し元の winid() func を構造から移動するだけで、輝きがあります。

于 2016-11-15T12:35:53.483 に答える