2009-08-31 41 views
26

Tôi đang phát triển một ứng dụng rất đơn giản trên máy Mac sử dụng QtCreator.Đầu vào bàn điều khiển với Qt Creator

Đó là ứng dụng bảng điều khiển và tôi muốn người dùng nhập tên của nó, sau đó tôi hiển thị tên của anh ấy. Đây là mã:

#include <iostream> 

int main(int ArgC, char* ArgV[]) 
{ 
    char Name[1000]; 

    std::cout << "Type your name : "; 
    std::cin >> Name; 

    std::cout << "Hello " << Name << "\n"; 
    return 0; 
} 

Khi chạy ứng dụng này với QtCreator, chuỗi "Nhập tên của bạn:" được hiển thị trong tab 'Đầu ra ứng dụng'. Nhưng nếu tôi gõ một số văn bản và nhấn phím enter, không có gì đang xảy ra.

Có vấn đề gì?

Trả lời

23

Tôi đã tìm được giải pháp. Với Qt Creator 1.3.0 (trên Mac OS X), đây là những gì tôi phải làm:

  • Project-> Cài đặt Chạy, kiểm tra "Run in Terminal" (nhờ Ropez)
  • Qt Creator-> Preferences: Environnement: General: Terminal: Tôi phải đặt toàn bộ đường dẫn đến XTerm. Đối với cấu hình của tôi, tôi phải đặt /usr/x11/bin/xterm -e.

Bây giờ, mọi thứ đều hoạt động tốt!

+1

Trong phiên bản QTcreator (3.6.0) của tôi, tab "Project" là một tab dọc được gọi là "Projects" (với "s"). Bạn có thể tìm thấy nó ở bên trái của cửa sổ chính ide. Đối với Preferences và đường dẫn thiết bị đầu cuối, nó nằm trong "tools> options> Environment (tab dọc)> System (Horizontal tab)" –

7

Đi tới Dự án -> Chạy cài đặt và đảm bảo "Chạy trong thiết bị đầu cuối" được chọn.

BTW:

std::cin >> Name; 

có lẽ không phải những gì bạn muốn. Nó sẽ chỉ đọc một mã thông báo (thường chỉ là tên đầu tiên). Bạn nên xem getline hoặc string version.

+0

Cảm ơn câu trả lời của bạn. Tôi đã chọn hộp kiểm 'Chạy trong Thiết bị đầu cuối', nhưng bây giờ tôi gặp sự cố này khi chạy ứng dụng của mình: Không thể khởi động trình mô phỏng thiết bị đầu cuối 'xterm'. Bất kỳ ý tưởng nào? –

+0

OK, tôi chưa từng sử dụng Qt Creator trên Mac, chỉ có Linux. 'xterm' là tên của trình mô phỏng thiết bị đầu cuối mặc định trên Linux. Bạn có thể cần phải thay đổi nó thành "thiết bị đầu cuối" hoặc một cái gì đó như thế. Một lần nữa, tôi không quen với Mac. Bạn tìm thấy điều này trong Tools -> Options -> Environment. – Ropez

+0

FYI, tôi gặp lỗi tương tự "Không thể khởi động trình mô phỏng thiết bị đầu cuối 'xterm'". Trên máy Fedora 15 của tôi, tôi phải làm một "sudo yum install xterm". Bây giờ khi bạn chạy qtcreator mã của bạn có thể mở một xterm và thành công. –

2

Giải pháp Jerome là giải pháp phù hợp. Mặc dù tôi có thể cung cấp cho bạn một giải pháp thay thế khác. Trong trường hợp bạn không muốn sử dụng X11 (vì lý do nào đó) trong cùng một vị trí (QtCreator-> Preferences-> Environment: General): bạn có thể đưa đường dẫn đến ứng dụng Terminal như sau: /Applications/Utilities /Terminal.app/Contents/MacOS/Terminal

Tận hưởng!

+1

Trên Qt Creator 2.6.x giải pháp này tạo ra không ít hơn 3 cửa sổ terminal và chúng không cửa sổ bật lên phía trên các cửa sổ khác, do đó bạn phải nhấp vào biểu tượng Bến tàu để xem nội dung. –

2

Giải pháp cho Windows.

Trong tập tin add .pro:

QT -= core gui 
TEMPLATE = app 
CONFIG += console 

Đi tới Dự án -> Cài đặt Chạy, và chắc chắn rằng "Run in Terminal" được kiểm tra.

1

Đối với Qt 2.4.0 dựa trên máy Mac, hãy nhấp vào tab Dự án dọc, nằm bên dưới "Gỡ lỗi" dọc theo cùng một đường thẳng đứng như Chào mừng, Chỉnh sửa, Thiết kế. Trong Target-> Run, hãy chắc chắn rằng "Chạy trong thiết bị đầu cuối" được kiểm tra!

1

tôi đã có "Không thể khởi động mô phỏng thiết bị 'xterm'" vấn đề trên máy Mac và cố định nó bằng cách vào thiết lập, Môi trường và nhấn vào nút "Đặt lại" nút bên cạnh ga trương Văn bản.

Đối với một số lý do theo mặc định nó chỉ nói "xterm -e" nhưng sau khi reset nó trở thành một đường dẫn tuyệt đối của "/usr/X11/bin/xterm -e".

Ứng dụng bảng điều khiển của tôi sau đó chạy tốt.

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