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
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 }
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
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 }
作者:疯狂Delphi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我