いおりです。
以前、朝木さんなこのパッチで直るはずと教えて頂いた情報です。
参考までに。
https://codereview.qt-project.org/109253
朝木です。以下の件ですが、挙動の変更はOS X用のコードを追加した際の副作用になります。5.5では修正されていたと思いますが、すぐに確認できる環境にいません。よければ、5.5ベータで試して見てください。欠ける件は知らなかったので、確認してみます。On Mon, Jun 8, 2015 at 7:56 AM, MURATA Yasuhisa <murata@nips.ac.jp> wrote:
はじめまして。生理学研究所の村田と申します。
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());
}
--
村田 安永
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users