obsidian/笔记文件/2.笔记/testWebViewer.md
2025-03-26 00:02:56 +08:00

2.3 KiB

#qt

头文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

cpp文件

#include "windows.h"
#include "winuser.h"
#include "qwindow.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    // QString cmd = "C:/Windows/system32/calc.exe";
    // STARTUPINFO si = { sizeof(si) };
    // PROCESS_INFORMATION pi;
    // si.dwFlags = STARTF_USESHOWWINDOW;
    // si.wShowWindow = true;

    // bool bRet = CreateProcess(
    //     NULL,
    //     (LPWSTR)cmd.toStdWString().c_str(),
    //     NULL,
    //     NULL,
    //     FALSE,
    //     CREATE_NEW_CONSOLE,
    //     NULL,
    //     NULL, &si, &pi);

    // Sleep(5000);

    WId wid = (WId)FindWindow(L"Qt5152QWindowIcon", L"MainWindow");
    QWindow *m_window = QWindow::fromWinId(wid);
    m_window->setFlags(m_window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint); //

    QWidget *m_widget;
    m_widget = QWidget::createWindowContainer(m_window, this->ui->web_widget);
    m_widget->setMinimumSize(700, 1080);
    m_widget->update();

    // WId wid = (WId)FindWindow(L"UnityWndClass", L"SYKitForUnity");

    // qInfo()<<"wid:"<<wid;

    // QWindow * window = QWindow::fromWinId(wid);
    // if (window)
    // {
    //     qInfo()<<"right4:"<<ui->web_widget;
    //     window->setFlags(window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint); //这边可以设置一下属性

    //     QWidget * widget = QWidget::createWindowContainer(window, this);

    //     QVBoxLayout *layout = new QVBoxLayout(ui->web_widget);
    //     layout->addWidget(widget);
    //     widget->show();
    //     layout->update();
    // }
    // else
    // {
    //     qInfo()<<"wrong";
    // }
    // ui->web_widget->load(QUrl("http://pan.isscuss.xyz"));
    // ui->web_widget->load(QUrl("http://baidu.com"));
    // ui->web_widget->show();


}

MainWindow::~MainWindow()
{
    delete ui;
}