C/C++編程筆記:編寫完成了一個C/C++程式,如何做一個界面出來?

来源:https://www.cnblogs.com/yxy6/archive/2020/07/13/13296119.html
-Advertisement-
Play Games

最簡單的方法是用vc6新建一個Win32 Application空工程,然後添加一個cpp文件,輸入 (註意添加對話框資源,並且在對話框上添加一個文本框) #include #include "resource.h" // DialogProc, 枚舉視窗對話框過程. int CALLBACK Di ...


最簡單的方法是用vc6新建一個Win32 Application空工程,然後添加一個cpp文件,輸入

(註意添加對話框資源,並且在對話框上添加一個文本框)

 

#include

#include "resource.h"

// DialogProc, 枚舉視窗對話框過程.

int CALLBACK DialogProc( HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam){

switch(uMsg){

case WM_INITDIALOG:{

SendDlgItemMessage(hdlg,IDC_EDIT1,EM_REPLACESEL,0,(long)"文本......");

}break;

case WM_DESTROY: break;

case WM_COMMAND:

switch(LOWORD(wParam)){

case IDCANCEL:

case IDOK:{

// DestroyWindow(hdlg);

EndDialog(hdlg,0);

} break;

default: break; // switch(LOWORD(wParam))} break; // case WM_COMMAND:

} // switch(uMsg)

return false;}

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE,LPSTR,int){

// HWND hDialog=CreateDialog(hInst,(LPCTSTR)IDD_DIALOG1,0L,DialogProc);

return DialogBox(hInst,(LPCTSTR)IDD_DIALOG1,0L,DialogProc);

}

方法步驟如下:

1、首先打開電腦在,在電腦內打開打開QtCreator,新建一個qt工程。

2、工程建立完畢,代碼編輯界面出現,先不管代碼。雙擊左側的dialog.ui,將會打開圖形界面編輯器界面。

3、可以看到左側有很多控制項,中間就是程式運行時顯示的視窗,右側是對象視窗和屬性視窗。其實,圖形界面編輯器有一個獨立的軟體,叫做qt designer,是專門用來編輯圖形資源的。實際上,編輯完成的圖形界面是一個純文本的xml文件,其實還有很多類似的圖形界面編輯器。Qt集成開發環境會將我們編輯的圖形界面xml文件轉換成可編譯的c++代碼。

4、下麵我們在中間的視窗中拖入一個按鈕,一個文本框。左鍵按住Push Button和Line Edit不放,拖到界面上即可。

5、要註意按鈕和文本框的objectName,在編寫代碼時要用到。

6、將視窗調整下,讓視窗大小合適,按鈕和文本框能夠對齊,並且能夠隨視窗的變化而變化。

7、先點擊視窗空白的地方,再點擊上方工具欄上的水平佈局按鈕。然後將視窗調整到合適大小,來看看效果。

8、點擊菜單欄的工具Form Editor預覽,來看看實際運行時視窗的效果。這隻是外觀效果,下麵我們來添加一點代碼。

9、在按鈕上右鍵,點擊轉到槽。

10、然後再雙擊clicked(),將轉到代碼編輯頁面。

11、在代碼編輯頁面添加如下代碼:QMessageBox::information(this,"圖形界面",ui->lineEdit->text());註意在頂部添加#include 。

12、最後點擊運行按鈕即可。

其實關於文章標題,這個問題的答案是:

C/C++都可以開發可視化的視窗程式!!

在WIN32的環境下,想要做出可視化的視窗程式,就必須瞭解WIN32的API,那是一些WINDOWS自帶的標準函數庫。無論是C還是C++,只要調用了這些API函數,就可以創建出可視化的視窗程式。

舉例說明,一個最簡單的WIN32的視窗程式:

MessageBoxW(0,L"你好,世界",L"標題",MB_OK);

就這麼一句話,無論是C/C++,都可以編譯通過,運行後打開一個消息對話框,結束。

至於開發工具,可以使用VC,也可以使用VS,版本越新功能越多,用起來越簡單。


自學C/C++編程難度很大,不妨和一些志同道合的小伙伴一起學習成長!

C語言C++編程學習交流圈子,【點擊進入微信公眾號:C語言編程學習基地

有一些源碼和資料分享,歡迎轉行也學習編程的伙伴,和大家一起交流成長會比自己琢磨更快哦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 打開eclipse,找到Window菜單項->preferences: 選中並打開Java菜單項,然後依次點擊installed JREs->單擊右邊的jdk->Edit 找到並單擊文件名為rt.jar的文件,然後在你的jdk的安裝目錄下找到並選擇源碼的壓縮包(src.zip),然後一路ok,fin ...
  • 函數式介面 函數式介面指的是:有且僅有一個抽象方法,但是可以有多個非抽象方法的介面(介面預設方法)。 1 @FunctionalInterface註解 該註解標記一個介面為函數式介面。 對於標註了這個註解的介面,編譯器會強制檢查該介面是否有且僅有一個抽象方法。否則會報錯。 即使不使用該註解,只要滿足 ...
  • Lambda表達式 閉包。允許將函數作為一個方法的參數傳遞進方法中。 本質上是一個匿名方法。 理解的時候,可以將Lambda表達式的內容轉化為一個方法去理解。 語法 (paramters) -> expression (parameters) -> { statements; } (int a) - ...
  • 一、 包裝類的使用 java提供了8種基本數據類型對應的包裝類,使得基本數據類型的變數具有類的特征 需要掌握的:基本數據類型、包裝類、String三者之間的相互轉換 基本數據類型 《 》包裝類:自動裝箱,自動拆箱 基本數據類型、包裝類 >String類型:調用String重載的valueOf(Xxx ...
  • Django Template層之Template概述 by:授客 QQ:1033553122 實踐環境 Python版本:python-3.4.0.amd64 下載地址:https://www.python.org/downloads/release/python-340/ Win7 64位 Dj ...
  • 一、java.lang.Object類 1.Object類是所有Java類的根父類 2.如果在類的聲明中未使用extends關鍵字指明其父類,則預設父類為java.lang.Object類 3.Object類中的功能(屬性、方法)就具有通用性。 屬性:無 方法:equals() / toString ...
  • 一、Django自帶的用戶認證-auth模塊 1.auth模塊簡介 網站開發過程中,我們需要設計實現網站的用戶系統。此時我們需要實現包括用戶註冊、用戶登錄、用戶認證、註銷、修改密碼等功能。Flask框架中我們需要手動的創建User模型,然後逐步實現驗證方法,但Django框架內置了強大的用戶認證系統 ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 from math import pi import matplotlib.pyplot as plt cat = ['Speed', 'Reliability', 'Com ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...