跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 我想用 C 语言开发一个有操作界面的程序,就像一些通用 exe 程序一样,网上有没有好的资料示例可学习?
未分類
6 2 月 2021

我想用 C 语言开发一个有操作界面的程序,就像一些通用 exe 程序一样,网上有没有好的资料示例可学习?

我想用 C 语言开发一个有操作界面的程序,就像一些通用 exe 程序一样,网上有没有好的资料示例可学习?

資深大佬 : Tlin 10

就跟普通的 PC 程序一样,能够安装在电脑上,上面有一些操作按钮、输入框等等

大佬有話說 (69)

  • 資深大佬 : loading

    关键字:c 语言 gtk

  • 資深大佬 : yishengD

    《 Windows 程序设计(第 5 版+珍藏版)》

  • 資深大佬 : ysc3839

    建议放弃 C,去学 C++,然后用 Qt 开发。

  • 資深大佬 : SuperMild

    C 也是有一些 GUI 库,但用起来应该不会好用。一般如果需要跨平台,应选择 Qt 或 Electron 或 Java, 如果只是 win 可以选择 .Net 或 AHK

    另外 python 有好几个简单的 GUI 库,应该都会比 C 好用一些。

  • 資深大佬 : northisland

    c 不是做 ui 的,

    要弄可以试一下 swift,和 c 对接功能超容易,接口都不用写。

  • 主 資深大佬 : Tlin

    @ysc3839 哈哈 没接触过 C++,不知坑怎样。

  • 主 資深大佬 : Tlin

    @SuperMild 发觉自己傻了 忘记了 Python

  • 資深大佬 : stirlingx

    MFC 侯杰

  • 資深大佬 : SuperMild

    @Tlin python 里最最易学的是 appJar, 可能是世界上最易学易用的 GUI 库,缺点是界面非常简陋。

  • 資深大佬 : ysc3839

    @Tlin 我认为 C 的坑更多。比如说 C 没有 RAII,需要自己手动释放。

  • 資深大佬 : hoyixi

    你需要一个 GUI 库

  • 資深大佬 : thedrwu

    其实 win32api ( user32.dll )小巧又好用,C 语言就够,linux 下能轻易地移植到 libwine 。Dialog 也能直接画。

  • 資深大佬 : laminux29

    C/C++开发 GUI 类型的项目,选 QT,无论是对于工程、可实现性、学习性以及以后工作发展,综合性价比都是最高的。

  • 資深大佬 : AndyAO

    如果你只在 Windows 上用的话,那么就应该调用 Win32Api 直接进行绘制.

    所以上面几位提到的关于 Windows 的书籍很值得看, 配合官方文档基本上就够了.

    还有就是目前 windows 开发建议使用 C++而不是 C(上面提到的 MFC 是对 Win32Api 的 C++封装),因为 Visual Studio 实质上只支持 C++,当然 C 也被兼容,不过用 C 会遇到各种各样的问题.

  • 資深大佬 : AndyAO

    你的描述来看,那应该是相当简单的界面,如果比较复杂的话,那就不建议直接调用 Win32API(包括 MFC),因为对于复杂的界面,这种方式不仅实现繁琐,而且效率还比较差,这个时候应该考虑使用 QT 等等.

  • 資深大佬 : Jirajine

    可以看看 winui3.0

  • 資深大佬 : ayase252

  • 資深大佬 : AndyAO

    非 Win32API 的 GUI 方案可以称为 DirectUI,没有使用标准的控件,绘制的内容是由程序本身完全控制,如果调用 Win32API,那么其中的内容是系统接管的,这就导致在显示复杂内容的时候效率上比较差.

    当好处也显而易见,非常简单轻便,而且精确操作控件的 API 很多.

  • 資深大佬 : love

    gtk,且垮平台。 如果直接用 winapi 写界面是会死人的非常繁复。

  • 資深大佬 : lovestudykid

    https://easyx.cn/ 这个简易的库应该可以满足你的要求

  • 資深大佬 : rpish

    MFC

  • 資深大佬 : 12tall

    小甲鱼 Win32 系列还可以的

  • 資深大佬 : Cbdy

    gtk

  • 資深大佬 : Cloutain

    C++写 只推荐 Qt
    但是写 windows 窗口程序,不推荐 C/C++
    C#是首选

  • 資深大佬 : itfanr

    c++ wxwidget/qt

  • 資深大佬 : shuax

    wtl

  • 資深大佬 : Quarter

    c 语言的话用 Qt ?

  • 資深大佬 : towry

    直接 rust

  • 資深大佬 : nnnToTnnn

    @northisland #5 C不是做 UI 的? 那么著名的 GTK 项目诞生的原因是什么?

  • 資深大佬 : zwy100e72

    @nnnToTnnn #29

    如果问 C 能不能做 UI,应该是能做。如果问 C 做 UI 是不是最佳选择(之一),我认为不是。

  • 資深大佬 : northisland

    @nnnToTnnn 现在谁用 c 做 ui 。。。1998 年么?

  • 資深大佬 : ml1344677

    我记得我大一刚学计算机的时候,是在如鹏网上看杨中科的视频学的 gtk,当时说实话,蛮激动的。。6 、7 年前的事了

  • 資深大佬 : bbsabc2

    C 做 UI,在 windows 系统下大体思路是这样的。

    registerclass
    createwindow

    然后每一个控键都要 createwindow

    还需要一个 message 循环

    基本上就可以了

  • 資深大佬 : encro

    当然是用 c#,winform 或者 wpf 。
    qt 也行。

  • 資深大佬 : djoiwhud

    c 做 ui,那你得直接用 opengl 才行。上面有人提的 createwindow 是 cpp 。

  • 資深大佬 : XIVN1987

    建议 PyQt,,Python 容易学,,写好后可以打包成一个 xx.exe 分发

  • 資深大佬 : northisland

    @nnnToTnnn

    gtk 以及 gimp,能做出来并在主流平台上都能运行,简直是奇迹。

    不晓得今天有多少人还能动的了 gimp 的逻辑。

  • 資深大佬 : XIVN1987

    我用 PyQt 写过几个小工具,,可以看看效果: https://github.com/XIVN1987?tab=repositories

  • 資深大佬 : zhuangzhuang1988

    @yishengD 同意真正的好书, 大而全而且细节多.

  • 資深大佬 : kios

    首选 Qt

  • 資深大佬 : azcvcza

    gtk 写得人蛋疼

  • 資深大佬 : LokiSharp

    GUI 直接 C# .net 吧

  • 資深大佬 : zengming00

    SDL 是个不错的跨平台库,用 C 语言写也很简单,只是很多组件都没有

  • 資深大佬 : zjsxwc

    c++ 的不少,
    c 的就少了,资料多的只有 gtk 了,

    当然也可以用 win32api 自己撸界面,就是特别麻烦

    还有一些奇葩手段,比如嵌入 tcl/tk, python 自带的 tkinter 估计是这种操作
    http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15612-s97/class/wallace/project/src/et/doc/ET.html#H0002

  • 資深大佬 : zjsxwc

    @zjsxwc

    https://i.loli.net/2021/01/21/VxOFlgKPIuXcneD.png

  • 資深大佬 : nnnToTnnn

    @zwy100e72 #30L

    C 确实是做 UI 的最佳选择之一。UI 分为很多页面。 细分领域

    1. 网页
    2. Window 平台
    3. Linux 平台
    4. Mac 平台
    5. 安卓平台
    6. IOS 平台
    7. 可穿戴设备(手环,手表,智能眼镜)
    8. 智能家居设备(例如 冰箱,空调,还有洗衣机)

    C 语言可能在其他领域里面没有写的快。 但是 C 是唯一一个覆盖所有领域的 UI 界面。

    并且 C 是唯一一个在所有领域中能保证你程序运行高效的语言,无天花板( PS:天花板取决于你的技术能力)

    ———–

    如果只是说做 UI,你随便举个语言看能不能做到以下几点 。 居然说 C 不是做 UI 的最佳选择之一,我认为如果真的是为了做 UI,那么 C 才是最佳的选择之一。

  • 資深大佬 : Kasumi20

    Dialog

  • 資深大佬 : nnnToTnnn

    厉害点的项目就是 gnome 系列产品,你可以了解下 GTK 的项目,基本上每个都是大作

  • 資深大佬 : guochao

    C 可以做 UI,但是 C 没有类型导致有些东西做起来没有那么方便,比如说继承啊什么的,就很难搞。

    然后 UI 分两类吧,你要是想用其他人写好的绘制的控件,目前我看到的勉勉强强能跨平台的,就是 gtk 。像上说的用 api 撸,比如说 win32 api 或者 x server 的,可以是可以,没必要。其他的库,不跨平台的,我也没看到有啥更好的选择。

    如果是打算搞自绘 UI,那可以用 SDL2 或者类似的 SDK 。比如说就用 SDL2,或者用 glfw+opengl 。这也是一条路。但是就是看起来不是那么 native 。

    如果你打算写写 c++,或者写写 c 风格的 c++,那选择就多了,无论是 MFC 还是 Qt 还是 wx 还是什么其他的,做界面都好说。

  • 資深大佬 : guochao

    另外也可以考虑写命令行下的 UI,比如说 ncurses,c 和 python 都有,也挺好使的。

  • 資深大佬 : James369

    @nnnToTnnn 你写了这么多平台,估计也就嵌入式会用 C 来做 UI 的吧。
    不建议用 C 来做 UI,比如事件驱动,多态都不好表现

  • 資深大佬 : nnnToTnnn

    @James369 #51 并不是,看情况,嵌入式首选 C, 其他平台基本上都是混合开发,例如 GTK 的 webkit + html .

    如果只是小工具不复杂,那么基本上就是 GTK , 安卓和 ios 平台也是差不多的做法。

    HTML 网页在布局上面有很大优势。

  • 資深大佬 : ysc3839

    @nnnToTnnn #46 C 语言没法覆盖 macOS 和 iOS,因为这两个系统提供的 API 都是基于 Objective-C 的,没法绕开 objc 相关的特性。
    相反,Windows 的 WinRT API 还是基于 COM 的,COM 的底层 ABI 是函数指针,C 语言仍然可以调用。

  • 資深大佬 : bignullnull

    SDL2,近期在研究用 C 写游戏

  • 資深大佬 : aneostart173

    C 本来就不是写 GUI 用的。硬要写也没问题,那是非常痛苦。另外写 GUI 本身也是分很多层次,比如一个按钮都要自己绘制的话,相当于你先写了个 GUI 库。

  • 資深大佬 : edwinxe2v

    做 GUI,用 FreePascal 快得多,也是跨平台的: https://www.lazarus-ide.org/

  • 資深大佬 : zfzyk

    直接易语言

  • 資深大佬 : songer

    iup 原生控件,windows 下就是 win api , Linux 下就是 GTK

  • 資深大佬 : lingo

    python 的 tk 。。。

    之前想尝试用 go,就很难受。

  • 資深大佬 : weiqk

    忘本的程序员真多,你们写的代码影响到别人的国家安全了还不知道反思么?

  • 主 資深大佬 : Tlin

    @weiqk 别那么气,一般人写的代码连一个用户都威胁不到,当然坏心思的也有多。但是影响到国家那可不是一般人能做的。

  • 主 資深大佬 : Tlin

    谢谢各位 我用 Python 写写 后面渐渐的学习 Python

  • 資深大佬 : mmdsun

    EXE ? 是 Windows 应用程序吗?
    看这个,里面有 C/C++

    https://developer.microsoft.com/zh-cn/windows/get-started-windows-10/

  • 資深大佬 : c0py7hat

    c#,写小工具 脚本 还是易语言吧 上手快

  • 資深大佬 : LZSZ

    c#不香吗

  • 資深大佬 : likai

    c 语言界面库,我记得有一个 lcui 的好像是,

  • 資深大佬 : xcstream

    用 devc++ 建一个 win32 c 项目

    windows api 本身就是 c 接口的

  • 資深大佬 : buzailianxi

    qt

  • 資深大佬 : vacants

    quick macros 很香,建议试试

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具