{"id":27001,"date":"2024-03-16T07:41:57","date_gmt":"2024-03-16T07:41:57","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/"},"modified":"2024-03-22T09:57:50","modified_gmt":"2024-03-22T09:57:50","slug":"how-to-embed-a-qt-program-into-a-winforms-application","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/","title":{"rendered":"How to embed a Qt program into a WinForms application?"},"content":{"rendered":"<p>To embed a Qt program in WinForms, you can use the following steps:<\/p>\n<ol>\n<li>Create a new WinForms project in Visual Studio.<\/li>\n<li>Add a WindowsFormsHost control to your project. This control is used to host Qt programs.<\/li>\n<li>To include the necessary Qt library files and header files in your project, you can find them in the installation directory of Qt.<\/li>\n<li>Develop a new Qt program and ensure it can run independently.<\/li>\n<li>Add a QWidget or QMainWindow control as the main window in the Qt program.<\/li>\n<li>In a WinForms project, write code to host a Qt program using the WindowsFormsHost control. You can use the following code snippet to accomplish this.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">using<\/span> System;\r\n<span class=\"hljs-keyword\">using<\/span> System.Windows.Forms;\r\n<span class=\"hljs-keyword\">using<\/span> QtProgram; <span class=\"hljs-comment\">\/\/ Qt\u7a0b\u5e8f\u7684\u547d\u540d\u7a7a\u95f4<\/span>\r\n\r\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">WinFormsApplication<\/span>\r\n{\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">partial<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">MainForm<\/span> : <span class=\"hljs-title\">Form<\/span>\r\n    {\r\n        <span class=\"hljs-keyword\">private<\/span> QWidget qtWidget; <span class=\"hljs-comment\">\/\/ Qt\u7a0b\u5e8f\u7684\u4e3b\u7a97\u53e3<\/span>\r\n\r\n        <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-title\">MainForm<\/span>()<\/span>\r\n        {\r\n            InitializeComponent();\r\n            InitializeQtProgram();\r\n        }\r\n\r\n        <span class=\"hljs-function\"><span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">MainForm_Load<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">object<\/span> sender, EventArgs e<\/span>)<\/span>\r\n        {\r\n            <span class=\"hljs-comment\">\/\/ \u5c06Qt\u7a0b\u5e8f\u7684\u4e3b\u7a97\u53e3\u6dfb\u52a0\u5230WindowsFormsHost\u63a7\u4ef6\u4e2d<\/span>\r\n            windowsFormsHost.Child = qtWidget;\r\n        }\r\n\r\n        <span class=\"hljs-function\"><span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">InitializeQtProgram<\/span>()<\/span>\r\n        {\r\n            <span class=\"hljs-comment\">\/\/ \u521b\u5efaQt\u7a0b\u5e8f\u7684\u4e3b\u7a97\u53e3<\/span>\r\n            qtWidget = <span class=\"hljs-keyword\">new<\/span> QWidget();\r\n\r\n            <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6eQt\u7a0b\u5e8f\u7684\u4e3b\u7a97\u53e3\u5c5e\u6027\u548c\u5e03\u5c40<\/span>\r\n\r\n            <span class=\"hljs-comment\">\/\/ \u8fd0\u884cQt\u7a0b\u5e8f<\/span>\r\n            qtWidget.show();\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In this way, when you run a WinForms program, the Qt program will be embedded and displayed in a WindowsFormsHost control. You can customize the layout and functionality of the Qt program as needed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To embed a Qt program in WinForms, you can use the following steps: Create a new WinForms project in Visual Studio. Add a WindowsFormsHost control to your project. This control is used to host Qt programs. To include the necessary Qt library files and header files in your project, you can find them in the [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-27001","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to embed a Qt program into a WinForms application? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to embed a Qt program into a WinForms application?\" \/>\n<meta property=\"og:description\" content=\"To embed a Qt program in WinForms, you can use the following steps: Create a new WinForms project in Visual Studio. Add a WindowsFormsHost control to your project. This control is used to host Qt programs. To include the necessary Qt library files and header files in your project, you can find them in the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:41:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T09:57:50+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"How to embed a Qt program into a WinForms application?\",\"datePublished\":\"2024-03-16T07:41:57+00:00\",\"dateModified\":\"2024-03-22T09:57:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\"},\"wordCount\":153,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\",\"name\":\"How to embed a Qt program into a WinForms application? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:41:57+00:00\",\"dateModified\":\"2024-03-22T09:57:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to embed a Qt program into a WinForms application?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to embed a Qt program into a WinForms application? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/","og_locale":"en_US","og_type":"article","og_title":"How to embed a Qt program into a WinForms application?","og_description":"To embed a Qt program in WinForms, you can use the following steps: Create a new WinForms project in Visual Studio. Add a WindowsFormsHost control to your project. This control is used to host Qt programs. To include the necessary Qt library files and header files in your project, you can find them in the [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:41:57+00:00","article_modified_time":"2024-03-22T09:57:50+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"How to embed a Qt program into a WinForms application?","datePublished":"2024-03-16T07:41:57+00:00","dateModified":"2024-03-22T09:57:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/"},"wordCount":153,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/","name":"How to embed a Qt program into a WinForms application? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:41:57+00:00","dateModified":"2024-03-22T09:57:50+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-embed-a-qt-program-into-a-winforms-application\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to embed a Qt program into a WinForms application?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=27001"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27001\/revisions"}],"predecessor-version":[{"id":61204,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27001\/revisions\/61204"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=27001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=27001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=27001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}