2013-04-10 14 views
8

Tôi cố gắng làm cho log khi cái gì là sai, vì vậy tôi muốn viết các thông tin lớp và tên hàm như thế này:Làm thế nào để có được tên hàm chức năng Qt

void MainWindowTest::testMethod() 
{ 
    qDebug()<<QString("ClassName is:%0,Function Name is:%1") 
       .arg(this->metaObject()->className()).arg("how to get method name"); 
} 

làm thế nào để làm điều này?

+1

Vâng, kể từ khi bạn đã có trong phương pháp này, bạn có thể chỉ cần đặt trong tên phương pháp. Đặt chuỗi "testMethod". –

+1

Phương pháp yêu thích của tôi được mô tả ở đây: http://stackoverflow.com/questions/173821/how-to-get-the-function-name-while-in-a-function-for-debug-strings – Klathzazt

Trả lời

25

Bạn có thể sử dụng Q_FUNC_INFO

mẫu mã:

qDebug() << "Function Name: " << Q_FUNC_INFO; 

Tham khảo Qt Documentation

+0

Có nó hoạt động, cảm ơn bạn – Aliceljm

+0

@Aliceljm đánh dấu câu trả lời là chính xác sẽ tốt đẹp :) – warunanc

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