はじめまして。生理学研究所の村田と申します。
Qt5.3で作成していたアプリを Qt5.4.1 + Windows7 の環境でビルドしてみたところ、 キーボードニーモニックの挙動が変わっていて とまどっています。
例えば、 label = new QLabel(tr("検索(&F):")); というようなコードの場合、 Qt5.3では、なにもしなくても 検索(F): のように表示されたのですが、 Qt5.4では、 検索: としか表示されず、Altキーを押すことで、 「(F)」の部分が表示されるようになりました。
ただし、この「(F)」の部分の表示が不完全で、 レイアウトによっては、 検索( のように後半が欠けた表示になってしまいます。 (該当のコードを本メールの最後に掲載いたします。)
キーボードニーモニックの挙動を Qt5.3の時のように戻したいのですが、 やり方がわかりません。
もしご存知でしたらご教示いただけないでしょうか? よろしくお願いいたします。
======== 以下が該当のコードです ========
==== main.cpp ==== #include <QApplication>
#include "finddialog.h"
int main(int argc, char *argv[]) { QApplication app(argc, argv); FindDialog *dialog = new FindDialog; dialog->show(); return app.exec(); }
==== finddialog.h ==== #ifndef FINDDIALOG_H #define FINDDIALOG_H
#ifdef _MSC_VER #pragma execution_character_set("utf-8") #endif
#include <QDialog>
class QLabel; class QLineEdit;
class FindDialog : public QDialog { Q_OBJECT
public: FindDialog(QWidget *parent = 0);
private: QLabel *label; QLineEdit *lineEdit; };
#endif
==== finddialog.cpp ==== #include <QtWidgets>
#include "finddialog.h"
FindDialog::FindDialog(QWidget *parent) : QDialog(parent) { label = new QLabel(tr("検索(&F):")); lineEdit = new QLineEdit; label->setBuddy(lineEdit);
QHBoxLayout *topLayout = new QHBoxLayout; topLayout->addWidget(label); topLayout->addWidget(lineEdit); setLayout(topLayout);
setWindowTitle(tr("Find")); setFixedHeight(sizeHint().height()); }