アプリ版:「スタンプのみでお礼する」機能のリリースについて

VisialC++2008ExpressEdition + Qt4でGUIアプリを書いています
QMainwindowのタイトルなどは正常なんですが
int ret = QMessageBox::waring(this, "確認", "OKを押してください",
QMessageBox::Ok | QMessageBox::Cancel);
でメッセージボックスだけが、タイトル、テキストとも文字化けしてしまいます。

対処方をご存知ないでしょうか?
よろしく、お願いいたします。

A 回答 (2件)

QMessageBox::warning


http://doc.trolltech.com/4.5/qmessagebox.html#wa …
より、第2、第3引数は「const QString &」を欲するようです。

QString
http://doc.trolltech.com/4.5/qstring.html
より、QStringのコンストラクタにはconst char*のものはあるようですが、
const wchar_t*のものはないようです。
→L"~"を指定するとエラーになる理由。

QStringに日本語を入れれば解決できそうですので、「QString 日本語」で
検索したところ、即ヒットしました。
http://calmlight.s2.zmx.jp/Qt4Examples/Japanese. …

が、
>QMainwindowのタイトルなどは正常なんですが
ということはすでにやってあるっぽいですね。
trを使ってもダメでしょうか?
    • good
    • 0
この回答へのお礼

QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
を宣言することで、日本語が表示できるようになりました。
MainWindowは、QtDesignerでつくったので、何もしなくても日本語表示
できたようです。
自分で書いたコードでは、先の宣言が必要なようです。

ありがとうございまいした。

お礼日時:2009/04/24 17:34

# 間違っているかもしれませんが


UnicodeとMBCSの違いってことでは?

VC2005以降はコード記述の標準がMBCS(マルチバイト文字)からUnicodeに変更されています

文字リテラルを "確認"を L"確認" といった具合にしてみてください
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございました。
残念ながら、L"確認"はコンパイルエラーになってしまいます。
たぶん、おっしゃるようにUnicode絡みとは思うんですが、メインウィウンドウは
ちゃんと表示されるのに、MessageBoxだけっつ

お礼日時:2009/04/24 10:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!