Thông báo

Collapse
No announcement yet.

QT Giao diện đồ họa cho các ứng dụng CrossPlatform

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • QT Giao diện đồ họa cho các ứng dụng CrossPlatform

    Hiện nay vấn đề lập trình nhúng, và cross platform đang bắt đầu phát triển khá tốt ở Việt Nam. Đồng thời với việc diễn đàn chủ trương phát triển Ubuntu, Việt Nam gia nhập liên minh mã nguồn mở Việt Trung Hàn Nhật, qua thời gian thảo luận khá nhiều về vấn đề phát triển mã nguồn mở, Ubuntu của diễn đàn.

    Vậy bây giờ là lúc DTVN nên bắt đầu vọc QT thôi.

    Rất mong được sự hỗ trợ của những người đi trước trong lĩnh vực này, đặc biệt là giới CNTT Việt Nam.

    Chúc vui

    Tài liệu tham khảo:
    [0] Giới thiệu về QT (rất nên xem qua): http://trolltech.com/products/qt/lea.../presentations
    [1] QT Demo thiết kế một giao diện web browser
    [2] Ubuntu (và Linux nói chung) với dân điện tử
    [3] First Time Linux C++ (Không biết anh em ở Việt Nam có xem được trang này không?)
    [4] Các trang tham khảo hữu ích về C++: http://www.robertnz.net/cpp_site.html
    [5] QT 4.3 Whitepapers: http://trolltech.com/pdf/qt43-whitepaper-a4.pdf


    ---------------- bổ sung bởi bqviet --------------------------
    Ở ta không vào được Geocities trực tiếp. Muốn xem được phải qua proxy
    First Time Linux C++
    Last edited by bqviet; 28-03-2008, 17:08. Lý do: thêm proxy để vào được từ VN
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

  • #2
    Cài đặt trên Ubuntu, các bạn vào Applications >> Add/Remove...

    Tìm "qt" và đánh dấu cài đặt.


    Sau khi cài đặt xong thì đây là kết quả

    Chúc vui
    Attached Files
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

    Comment


    • #3
      Cài đặt Eclipse vào Ubuntu thì các bạn có thể sử dụng ngay Synaptics để cài, ở đây không nhắc lại, nhưng các bạn chú ý cài bộ eclipse và bộ eclipse-cdt để phát triển ứng dụng C/C++

      Hình ảnh về Eclipse, F đã giới thiệu ở trong phần giới thiệu về Ubuntu rồi, việc này cũng khá đơn giản, cho nên không nhắc lại nữa.

      Vấn đề thứ hai, đó là các bạn cần kết nối Eclipse và QT. Đây là một việc làm tạm thời không còn là khó khăn sau khi đọc bài hướng dẫn tại đây:

      http://trolltech.com/developer/downl...-installmanual

      Tuy nhiên, cái thư mục được nhắc đến ở đây không phải là usr/local hay usr/lib, mà trong Ubuntu nó là usr/local/lib, các bạn chú ý điều này.

      Các bạn có thể download file kết nối (integration) của QT tại đây:
      http://trolltech.com/developer/downl...ation-download

      Các bạn có thể download phiên bản gcc-4 bởi Ubuntu 7.10 có gcc-4 sẵn rồi.

      Sau khi download nó về desktop các bạn thực hiện chuỗi lệnh sau:
      - Copy file tải về vào thư mục usr/local/lib bằng lệnh
      Code:
      sudo cp /home/username/Desktop/qt-eclipse-integration-linux.x86-1.0.1.tar.gz /usr/local/lib
      - Untar cái file này, bởi vì nếu bạn mở cái tar này ra, các bạn sẽ thấy nó có sẵn cái thư mục eclipse bên trong đó còn có eclipse/plugins và eclipse/features luôn rồi. Các bạn dùng lệnh:
      Code:
      cd usr/local/lib
      sudo tar xzf qt-eclipse-integration-linux.x86-1.0.1.tar.gz
      - Sau khi untar rồi, các bạn có thể xoá nó đi bằng lệnh:
      Code:
      sudo rm qt-eclipse-integration-linux.x86-1.0.1.tar.gz
      Nói chung F thuộc dạng gà cho nên F cứ làm từng bước từng bước vậy, các bạn có thể sửa lại để làm cho nhanh hơn tuỳ theo mỗi người. Chỗ nào cần khai pw root thì các bạn khai vào.

      Cuối cùng, bắt chước nó, các bạn chạy lệnh $eclipse -clean là xong.

      Nhưng mà khi chạy lệnh từ terminal thì nó sẽ có cái cửa sổ terminal rất khó chịu. Sau khi chạy cái chú này xong, các bạn có thể tắt nó đi rồi mở eclipse bình thường từ Applications >> Programming >> Eclipse


      Sau khi chạy nó thì các bạn sẽ thấy nó hiện ra cái Cheat Sheet này.

      Những vấn đề sau đó F sẽ viết tiếp sau. Mục tiêu của chúng ta bây giờ sẽ là làm lại cái thí dụ QT Demo mà F đã gửi làm tài liệu tham khảo. Hiện tại thì F vẫn chưa có thời gian nhiều, nhưng sẽ cố gắng thử từng bước một để có thể triển khai được hệ thống này cơ bản nhất.

      Sau khi hoàn thành các bước cơ bản này, có lẽ chúng ta sẽ có nhiều cái hơn để thảo luận và để "cãi lộn" hehe...

      Chúc vui
      Falleaf
      Công ty TNHH Thương mại và Giao nhận R&P
      58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
      mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

      Comment


      • #4
        Đúng là cái kiểu đi câu bài của F đây mà . Đại khái là tạo một project QT giống như giao diện QT thông thường, nhưng mà ta hoàn toàn có thể làm việc trên Eclipse như với cái QT Designer ở ngoài kia.

        Như vậy bắt đầu thấy nó giống Visual C++ rồi đây.

        Chúc vui
        Attached Files
        Falleaf
        Công ty TNHH Thương mại và Giao nhận R&P
        58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
        mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

        Comment


        • #5
          Em khoái UBUNTU

          Thấy mấy anh bàn về Ubuntu em khoái quá. Nhưng em ... chả có khả năng khai thác nó.

          Bắt đầu từ đâu để Ubuntu vừa là bạn, người thân và là nhân viên đắc lực đây hả các anh ? Chỉ dạy cho em với ? Nên chăng mở một topic riêng để đẩy mạnh việc này ?

          Lan Hương.

          Comment


          • #6
            http://dientuvietnam.net/forums/showthread.php?t=6382

            Bạn xem bài viết này, F vừa đưa nó vào phần tham khảo. Có đầy đủ hướng dẫn cài đặt cần thiết cho bạn.

            Nhân trả lời bài này, các bạn thử làm một bài nhỏ như sau:

            Tạo một file hello.cpp, đặt nó trong thư mục home/username/workspace/QT_Demo1

            Nội dung của file như sau

            Code:
            #include <qapplication.h>
            #include <qlabel.h>
            
            int main(int argc, char *argv[])
            {
               QApplication app(argc, argv);
            
               QLabel *hello = new QLabel("Hello world!", 0);
               app.setMainWidget(hello);
            
               hello->show();
               return app.exec();
            }
            Sau đó chuyển vào thư mục QT_Demo1 và thực hiện chuỗi lệnh sau:
            Code:
            $ qmake -project
            $ qmake
            $ make
            Trong khi thực hiện lệnh này, các bạn mở cửa sổ thư mục QT_Demo1 ra để xem nó sẽ xuất hiện thêm những file nào, các bạn xem hình đính kèm.

            Sau khi chạy lệnh $ make, các bạn sẽ thấy có một file QT_Demo1 ở dạng executable (file thực thi). Bây giờ các bạn click đúp vào nó, nó sẽ hiện ra một cái ô cửa sổ nhỏ với chữ Hello world! nhỏ xíu và cái ô cửa sổ cũng nhỏ xíu luôn. Các bạn có thể kéo cửa sổ cho nó to ra để xem. Hình cuối cùng mà F gửi chính là hình kết quả.

            Ví dụ này được lấy trong tài liệu hướng dẫn sử dụng C++ lần đầu tiên trên Linux với giao diện đồ họa. Đây là điều đầu tiên các bạn có thể làm được với QT.

            F xin phép chỉ khai mào cho box này đến đây, các phần sau F không biết có thời gian để làm chi tiết hơn không, hoặc là sẽ có những người làm tin học đã viết hướng dẫn sẵn, F sẽ dành thời gian để kiếm các tài liệu hướng dẫn đó, sẽ đỡ mất công viết hơn.

            Chúc vui

            Tài liệu tham khảo:
            [1] Tutorial 1: http://doc.trolltech.com/4.3-snapshot/tutorial.html
            [2] Tutorial 2: http://doc.trolltech.com/3.3/tutorial2.html
            [3] QT Design Manual: http://doc.trolltech.com/3.3/designer-manual.html
            [4] QT Object Model: http://doc.trolltech.com/4.3/object.html (khái niệm cần nắm)
            [5] Signals and Slots: http://doc.trolltech.com/4.3/signalsandslots.html (khái niệm cần nắm)
            Attached Files
            Falleaf
            Công ty TNHH Thương mại và Giao nhận R&P
            58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
            mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

            Comment


            • #7
              http://www.picvietnam.com/forum//showthread.php?t=2006

              Bài thí dụ cho QT Demo như F đã hứa được viết tiếp trên picvietnam.

              Chúc vui
              Falleaf
              Công ty TNHH Thương mại và Giao nhận R&P
              58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
              mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

              Comment


              • #8
                Dự án PM2I - Picvietnam Multi Platform Multi-port Interface

                Dự án này sử dụng QT, Eclipse CDT để phát triển các giao tiếp RS232 trên nền Windows và Ubuntu.

                Đây là dự án của công ty R&P, nhưng phần này có tính chất hướng dẫn, cho nên F gửi lên đây để các bạn sinh viên có nhu cầu học tập thì sử dụng tham khảo.

                Chúc vui
                Attached Files
                Falleaf
                Công ty TNHH Thương mại và Giao nhận R&P
                58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                Comment


                • #9
                  ecli

                  Nguyên văn bởi falleaf Xem bài viết
                  Dự án PM2I - Picvietnam Multi Platform Multi-port Interface

                  Dự án này sử dụng QT, Eclipse CDT để phát triển các giao tiếp RS232 trên nền Windows và Ubuntu.

                  Đây là dự án của công ty R&P, nhưng phần này có tính chất hướng dẫn, cho nên F gửi lên đây để các bạn sinh viên có nhu cầu học tập thì sử dụng tham khảo.

                  Chúc vui
                  ban oi minh cai eclip xong cao chay thi thay co thong bao nhu file anh cua minh
                  ,minh khong hieu ra sao ca ban giup minh voi
                  cam on nhieu
                  Attached Files
                  |

                  Comment


                  • #10
                    Bạn chưa cài Java, cần phải vào synaptics để cài thêm Java, bạn xem luồng giới thiệu về Ubuntu để cài đặt Java thêm.

                    Eclipse được phát triển trên nền java, nó cần có Java để chạy.

                    Chúc vui
                    Falleaf
                    Công ty TNHH Thương mại và Giao nhận R&P
                    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                    Comment


                    • #11
                      Về phần cài đặt công cụ thì bqviet không dám bàn. Tuy nhiên phát triển ứng dụng giao tiếp RS232 thì thiết nghĩ đừng sáng chế lại bánh xe nữa. Chương trình giao tiếp cổng chạy trong Linux vốn đã có 2 cái nổi bật: cutecomgtkterm (chưa kể một lô rất nhiều khó dùng khác). Bản thân tôi cũng viết chương trình port_manipulator khá hoàn chỉnh và dùng cho công việc thực tế, nhưng đến nay vẫn ngộ ra rằng tái sử dụng vẫn hơn. Thay vì viết từ đầu, tại sao chúng ta không phát triển tiếp cái có sẵn và đóng góp ngược trở lại cho cộng đồng ? Thay vì hướng dẫn viết chương trình từ đầu, sao không hướng dẫn người mới đọc cái có sẵn từng bước một ?

                      Tôi sẽ thử làm trước - port cái cutecom sang Qt4 và viết thêm một số chức năng (tác giả còn bỏ ngỏ trong phần TODO) rồi báo cáo mọi người sau.

                      Tìm qua trên Source Forge 3 năm trước đây đã thấy có tới > 200 chương trình text editor. Để làm gì cơ chứ ? Cái mà người dùng cần là vài chương trình thật tốt. "Vài" để vẫn có lựa chọn, và cũng để không phân tán nguồn lực cho quá nhiều chương trình tồi.
                      Last edited by bqviet; 28-03-2008, 17:10.
                      Phần mềm tự do hoặc không dùng máy tính nữa !.

                      Comment


                      • #12
                        Nguyên văn bởi lanhuong Xem bài viết
                        Thấy mấy anh bàn về Ubuntu em khoái quá. Nhưng em ... chả có khả năng khai thác nó.

                        Bắt đầu từ đâu để Ubuntu vừa là bạn, người thân và là nhân viên đắc lực đây hả các anh ? Chỉ dạy cho em với ? Nên chăng mở một topic riêng để đẩy mạnh việc này ?

                        Lan Hương.
                        Box Linux vinh dự vì được bóng hồng bên RF ghé thăm.

                        Cách tiếp cận thật an toàn
                        1. Đợi tới tháng 4 sẽ có bản (K)Ubuntu 8.04 ra lò với nhiều tính năng hơn bản 7.10 hiện tại.
                        2. Có nhiều phiên bản: Ubuntu, Kubuntu, Xubuntu, Edubuntu. Khuyến cáo nên dùng Kubuntu thân thiện và nhiều tính năng, lại quen thuộc với người vốn dùng Windows. (Ai dùng MacOS quen lại thích Ubuntu.)
                        3. Tải về bản có khả năng chạy nóng trên CD mà không cần cài lên máy tính. Đừng dùng bản altenate. Khởi động từ CD và dùng luôn, bắt đầu từ những chức năng quen thuộc như duyệt web, soạn thảo văn bản, tán gẫu, vẽ đồ họa đơn giản ... Chạy trực tiếp từ CD nên hơi chậm chứ không phải tại Kubuntu chậm.
                        4. Sau khi đã quen rồi (2-9 tuần tùy độ thông minh ), tiến tới đọc hướng dẫn tại đây để cài đặt lên ổ cứng đồng thời bắt đầu chỉnh sửa nó theo ý mình: cài máy in, cài phông ...
                        5. ... như vậy là tạm đủ cho nhu cầu bình thường, có gì khó khăn hoặc học thêm lại lên đây hỏi tiếp.
                        Phần mềm tự do hoặc không dùng máy tính nữa !.

                        Comment


                        • #13
                          Nguyên văn bởi falleaf Xem bài viết
                          Bạn chưa cài Java, cần phải vào synaptics để cài thêm Java, bạn xem luồng giới thiệu về Ubuntu để cài đặt Java thêm.

                          Eclipse được phát triển trên nền java, nó cần có Java để chạy.

                          Chúc vui
                          F ơi, sao không dùng Kdevelop cho nó giống VC++, chức năng Java của Kdevelop chưa bằng Eclipse, nhưng lập trình C, C++ với nó là nhất đấy.
                          Phần mềm tự do hoặc không dùng máy tính nữa !.

                          Comment


                          • #14
                            Nguyên văn bởi bqviet Xem bài viết
                            F ơi, sao không dùng Kdevelop cho nó giống VC++, chức năng Java của Kdevelop chưa bằng Eclipse, nhưng lập trình C, C++ với nó là nhất đấy.
                            Em chọn Eclipse vì ngoại trừ lập trình C/C++ thì thằng Eclipse cho phép dùng nhiều thằng khác nữa. Nhất là sắp tới đây VN mình sẽ phát triển mạnh về công nghệ di động, lúc đó các ứng dụng sử dụng Java cũng không ít.

                            Hệ thống lập trình và phát triển web trên Java, php,.. thằng Eclipse nó cũng hỗ trợ luôn. Chọn một công cụ riêng thì dễ, nhưng chọn một công cụ để có thể support cho cộng đồng thì em cũng cân nhắc nhiều.

                            Đúng là Eclipse trên Ubuntu cũng có vấn đề, nó chạy vẫn chưa thực sự là ổn. Nhưng với đà phát triển của nó, và tốc độ phát triển hiện nay thì nó có thể đi rất nhanh, và nó phù hợp với sự bắt nhịp của VN lúc này, đặc biệt là ở DTVN. (Đây chủ yếu là vấn đề cảm tính, vì như anh biết là em cũng không rành Linux). Khi chạy trên Win và Linux thì Eclipse dùng tốt, thế nên trong giai đoạn này thì khi làm một bài hướng dẫn trên Linux, nó tương đương trên Win và ngược lại. Chỉ đơn giản là ta chọn trình dịch khác.

                            Em sẽ nghĩ tới vấn đề support Kdevelop, nhưng thú thực là em cũng không có thời gian nhiều, nên tạm treo...

                            Chúc vui
                            Falleaf
                            Công ty TNHH Thương mại và Giao nhận R&P
                            58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
                            mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

                            Comment


                            • #15
                              bạn F ơi ! Mình đang xài eclipse trên nền ubuntu, và đang tìm hiểu lập trình GUI .Bạn có thể hướng dẫn kỹ hơn cho tui từng bước cách tạo 1 GUI trên eclipse với QT không ? như để lập trình GUI trên ubuntu, mình cần cài những phần mểm nào ngoài eclipse và QT. Và có thể hướng dẫn 1 ví dụ về GUI trong đó có các nút gọi event, gọi hàm được ko?
                              Mong bạn hồi âm .
                              Last edited by magi; 16-04-2008, 10:34.

                              Comment

                              Về tác giả

                              Collapse

                              falleaf Tìm hiểu thêm về falleaf

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X