2009-03-14 37 views
5

Trước hết, hãy hiểu. Tôi đã tìm kiếm điều này và làm rối tung nó trong nhiều tuần. Cuối cùng tôi đã từ bỏ một nỗ lực solo và quyết định yêu cầu cộng đồng đáng yêu này giúp đỡ.Phát triển GUI với C++ trong môi trường Windows

Tôi muốn viết các ứng dụng GUI cho cửa sổ. Lý do là tôi muốn chuyển các ứng dụng dòng lệnh yêu thích của mình để có giao diện. Tôi mặc dù 'Này này không phải là khó khăn này'.

Vì vậy, tôi đã Googled trong một vài giờ và có ý tưởng tốt về những gì tôi cần. Tôi đã tải xuống Qt và cài đặt mọi thứ. Tiếp theo tôi tìm thấy một hướng dẫn nhằm mục đích sử dụng IDE hiện tại của tôi (Bloodshed Dev C++) để làm việc với Qt. Tất cả mọi thứ đã đi đến shambles sau đó.

Tôi khá bối rối phải làm gì bây giờ. Một số người nói IDE của tôi là cũ và tôi cần phải thay đổi. Một số người nói tôi phải cấu hình Windows khác nhau. Ai đó đã đề xuất sử dụng Visual Studio C++ (hoặc bất kỳ Microsoft IDE nào).

Đây là nơi bạn cần lời khuyên và trợ giúp của bạn. Tôi nên làm gì/cài đặt/nâng cấp?

+0

Bạn thực sự nên xác định ý của bạn là gì "Mọi thứ đã bị vỡ" –

+0

Có, vấn đề cụ thể của bạn là gì? 'Nó sẽ không hoạt động, làm thế nào để sửa nó?' không phải là điều chúng ta thực sự có thể trả lời. – BigSandwich

Trả lời

4

Được rồi, có hai phần cho điều này.

Thứ nhất là trong Windows, bạn sẽ cần thư viện GUI của Windows. Bạn có thể viết vào API Windows theo nhiều cách, nhưng đơn giản nhất là sử dụng riêng của Microsoft. Điều đó có nghĩa là chọn Visual Studio trong một số hóa thân.

QT, Wx và otehr là tất cả các thư viện tiện ích được xây dựng trên API cơ bản của Windows. Chúng tốt cho tính di động đối với các nền tảng khác, nhưng chúng nhất thiết phải thêm một số phức tạp.

Đối với C++, bạn cần trình biên dịch. Một lần nữa, đối với Windows, điều đơn giản nhất là sử dụng Visual Studio, nhưng có sẵn các trình biên dịch khác. Trình miễn phí phổ biến nhất sẽ là trình biên dịch GNU. Cách dễ dàng để có được những thứ đó là với Cygwin, nhưng đó là một môi trường giống UNIX.

Tôi nghĩ rằng kết luận là dành cho người mới bắt đầu, bạn tốt nhất với Visual Studio.

Khi bạn nhận được, có nhiều hướng dẫn trên web và tại Microsoft để tìm hiểu cách sử dụng nó.

+2

Các thư viện ở trên cùng của API Windows không thêm tính phức tạp, mà là trừu tượng hóa nó, để bạn không phải lo lắng về nó. Đó là cách dễ dàng hơn để tạo ra các cửa sổ/nút/etc. trong Qt hơn là thông qua các cuộc gọi Windows API. – Thomas

+0

Nhân tiện, cũng có phiên bản miễn phí của C++ trực quan có sẵn để sử dụng phi thương mại –

+0

@Thomas, điều đó chỉ đúng nếu trừu tượng không bị rò rỉ. Hầu hết làm. –

3

Bạn có nhiều tùy chọn và bạn có thể sử dụng nhiều công cụ như mô tả của Charlie Martin. Tôi nghĩ rằng nếu bạn muốn con đường dễ nhất, bạn nên sử dụng wxDev-C++ là Dev-C++ đi kèm với thư viện GUI wxWidgets. Sau khi bạn cài đặt nó, bạn có thể trực tiếp phát triển các ứng dụng GUI mà không cần cấu hình thêm. Có lẽ Dev-C++ là một IDE cũ, nhưng bạn đã sử dụng nó và bạn biết điều đó. Và wxWidgets là một thư viện GUI vững chắc.

1

Trong khi có thể sử dụng IDE hiện tại của bạn và bộ công cụ như Qt, nếu bạn đang tìm kiếm đường dẫn ít kháng cự nhất, bạn nên đi với Visual Studio. Bạn sẽ tìm thấy tài liệu tốt nhất và hỗ trợ nhiều nhất cho tuyến đường đó. Kiểm tra các Express Edition đó là miễn phí (như trong bia). Sau đó, lấy một bản sao của một cuốn sách hay về chủ đề như số Programming Windows của Charles Petzold. Bạn nên được tất cả các thiết lập.

2

Visual Studio 2008 + WTL sẽ là một sự kết hợp tuyệt vời nếu bạn không lo lắng về hỗ trợ đa nền tảng. Qt trông tuyệt vời, nhưng đối với một ứng dụng đơn giản, nó có thể là quá mức cần thiết - phân phối một ứng dụng Qt có nghĩa là vận chuyển một loạt các DLL chẳng hạn, trong khi bạn có ít phụ thuộc hơn với WTL.

Chỉ cần 2c của tôi. Tôi không muốn bắt đầu bất kỳ cuộc chiến tranh ngọn lửa nào ở đây.:)

Wikipedia

Brilliant series of WTL articles at The Code Project

0

Dev C++ không còn được phát triển tích cực (và là một chút naff anyway). Nếu bạn muốn một IDE mã nguồn mở hỗ trợ phát triển GUI của Windows, hãy thử Code::Blocks.

1

Tôi sử dụng Ultimate++ http://ultimatepp.org/ để phát triển giao diện C++ GUI đa nền tảng. Nó cũng có một thư viện đầy đủ các tiện ích cho mạng, cơ sở dữ liệu, vv và một IDE thực sự tốt. Đó là BSD được cấp phép, vì vậy không có vấn đề gì với những gì bạn muốn. Nó có sự hỗ trợ cộng đồng thực sự tốt.

+0

Nó có một trình cài đặt cửa sổ bản địa. Từ http://ultimatepp.org/www$uppweb$download$en-us.html, tải xuống các liên kết tại đây: http://sourceforge.net/projects/upp/files/upp/ – Chris

6

Kể từ phiên bản 4.5 Qt giờ đây được đóng gói với nền tảng QtCreator Qt chính thức, đa nền tảng. Chỉ cần tải xuống và cài đặt Qt 4.5 và bạn sẽ có được một môi trường phát triển đầy đủ tính năng (libs, IDE, trình thiết kế biểu mẫu, trình soạn thảo tài nguyên) miễn phí.

http://www.qtsoftware.com/downloads

0

Trước hết, Dev-C++ là không còn được phát triển và dường như đã bị bỏ rơi với rất nhiều lỗi. Thứ hai, NẾU bạn muốn gắn bó với API cửa sổ, hãy xem dự án Dialog Template nhỏ của tôi.

Tôi vừa thêm tệp dự án cho Visual Studio 2008, Code :: Blocks & Dev-C++ chỉ để giúp bạn di chuyển. Hãy cho tôi biết nếu bạn cần bất kỳ điều gì khác, vì tôi rất sẵn lòng trợ giúp bạn.

0

Sau đây giả định rằng bạn đang nhắm mục tiêu nền tảng chỉ dành cho Windows (nếu bạn đang tìm kiếm hệ điều hành chéo - thì nhiều bài đăng khác sẽ bao gồm các tùy chọn khác nhau).

Bạn có thể khá may mắn vì bạn đã có một ứng dụng có thể chạy từ dòng lệnh. Hoàn toàn có thể làm việc với một trong các ngôn ngữ .Net và truy cập vào ứng dụng hiện có của bạn. Mọi ngôn ngữ .Net (C#, VB.Net, C++ được quản lý) có thể được sử dụng để xây dựng giao diện người dùng và các sự kiện và giao diện người dùng ràng buộc và sau đó thực hiện cuộc gọi đó với ứng dụng hiện có của bạn.

Tùy chọn khác: Quản lý C++ thực sự cho phép bạn trộn mã được quản lý (.Net) và mã không được quản lý (tiêu chuẩn tuân thủ C++ - tức là - các ứng dụng hiện có của bạn) trong cùng một dự án (thậm chí cùng một tệp cho nhiều mã). Điều này cho phép bạn truy cập vào nhiều tính năng IDE hiện đại và thư viện .Net cho bất kỳ thứ gì mới mà bạn muốn thêm vào. Bạn chỉ cần chơi một chút với một số thiết lập dự án và "nó chỉ hoạt động" (tốt - có thể có một số điều học tập nhưng nó là khá dễ dàng).

Trong khi tôi có phiên bản đầy đủ của Visual Studio - Tôi tin rằng các phiên bản "Express" miễn phí (http://www.microsoft.com/express/product/) là khá có khả năng cho nhiều tác vụ này.

Các vấn đề liên quan