QtProcessExteriorExe把其他程序加载到Qt界面中

 

相关资料:

https://www.baidu.com/link?url=1uzHF_j5lIqL0FWbARNYLnV2pD1tDzbtcwE4KUsg5KkCUPO_Y3RBODMm-KqUEpu46leD-gVAxkEcL8W9FBR7k_&wd=&eqid=c020dd8c0011bef10000000260ab496e

https://blog.csdn.net/zhango5/article/details/80901674

https://blog.csdn.net/jiaoyaziyang/article/details/49802993

实例:

.pro

 1 QT       += core gui
 2 
 3 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 4 
 5 CONFIG += c++11
 6 
 7 # The following define makes your compiler emit warnings if you use
 8 # any Qt feature that has been marked deprecated (the exact warnings
 9 # depend on your compiler). Please consult the documentation of the
10 # deprecated API in order to know how to port your code away from it.
11 DEFINES += QT_DEPRECATED_WARNINGS
12 
13 # You can also make your code fail to compile if it uses deprecated APIs.
14 # In order to do so, uncomment the following line.
15 # You can also select to disable deprecated APIs only up to a certain version of Qt.
16 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
17 
18 SOURCES += \
19     main.cpp \
20     mainwindow.cpp
21 
22 HEADERS += \
23     mainwindow.h
24 
25 FORMS += \
26     mainwindow.ui
27 
28 LIBS += -lUser32
29 
30 # Default rules for deployment.
31 qnx: target.path = /tmp/$${TARGET}/bin
32 else: unix:!android: target.path = /opt/$${TARGET}/bin
33 !isEmpty(target.path): INSTALLS += target
View Code

main.h

 1 #include "mainwindow.h"
 2 
 3 #include <QApplication>
 4 
 5 int main(int argc, char *argv[])
 6 {
 7     QApplication a(argc, argv);
 8     MainWindow w;
 9     w.show();
10     return a.exec();
11 }
View Code

mainwindows.h

 1 #ifndef MAINWINDOW_H
 2 #define MAINWINDOW_H
 3 
 4 #include <QMainWindow>
 5 
 6 #include <QWindow>
 7 #include <QPushButton>
 8 #include <QVBoxLayout>
 9 
10 QT_BEGIN_NAMESPACE
11 namespace Ui { class MainWindow; }
12 QT_END_NAMESPACE
13 
14 class MainWindow : public QMainWindow
15 {
16     Q_OBJECT
17 
18 public:
19     MainWindow(QWidget *parent = nullptr);
20     ~MainWindow();
21 
22 private:
23     Ui::MainWindow *ui;
24 
25     QWidget *m_pWidget;
26 };
27 #endif // MAINWINDOW_H
View Code

mainwindows.cpp

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 
 4 #include <Windows.h>
 5 
 6 MainWindow::MainWindow(QWidget *parent)
 7     : QMainWindow(parent)
 8     , ui(new Ui::MainWindow)
 9 {
10     ui->setupUi(this);
11 
12     LPCWSTR className = TEXT("Qt5QWindowIcon");// Qt5QWindowIcon // Notepad++
13     HWND hwnd = FindWindow(className, NULL);
14     // WId wid = (WId)FindWindow(L"CalcFrame",NULL);
15     QWindow *calcWin = QWindow::fromWinId((WId)hwnd);
16     // calcWin->setFlags(m_window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
17 
18     QWidget *owidget = new QWidget(this);
19     owidget->setGeometry(100, 100, this->width(), this->height());
20     QWidget *calcWidget = QWidget::createWindowContainer(calcWin, owidget, Qt::FramelessWindowHint);
21     calcWidget->setMinimumSize(600,500);
22 }
23 
24 MainWindow::~MainWindow()
25 {
26     delete ui;
27 }
View Code

 

posted on 2021-05-24 17:34  疯狂delphi  阅读(88)  评论(0编辑  收藏  举报

导航