Qt Designerを使ってみる その3
設定ダイアログを表示するだけだったので、キーの入力などに反応するように、環境を少しだけ整えました。
Qt Designerを使って、プロパティを書き換えました。
ダイアログのオブジェクト名を「SettingDialog」に変更。 それぞれのGUI部品の名前をわかりやすく変更。例えば、
lineEdit -> lineEdit_hostname
comboBox -> comboBox_hosttype
spinBox -> spinBox_portno
lineEdit_2 -> lineEdit_password
という感じです。
spinBoxの属性変更。
minimum 0 -> 1
maxmum 99 -> 65535
QAbstractSpinBoxの属性を以下のように変更。
alignment 横方向 左端揃え -> 右端揃え
今思いつく所はこんなもんでしょうか。なにかあったら、またQt Assistantで調べて変更しましょう。
lineEdit_passwordは、生のテキストでなく"******"というふうに表示されたほうがいいとかも要検討でしょうかね。
http://youtu.be/vj29ylEFglw
それにしても、デザインが素人丸出しですね…困った(^-^;
Qt Designerの出力した"ui_setting_dialog.h"というソースファイルを利用して、SettingDialogという新しいクラスを作ったのですが、これに関しては「入門Qt4プログラミング」のP.31あたりに書いてありますね。って、これで分かるのでしょうか…
[settingdialog.h]
[settingdialog.cpp]
Qt Designerを使って、プロパティを書き換えました。
ダイアログのオブジェクト名を「SettingDialog」に変更。 それぞれのGUI部品の名前をわかりやすく変更。例えば、
lineEdit -> lineEdit_hostname
comboBox -> comboBox_hosttype
spinBox -> spinBox_portno
lineEdit_2 -> lineEdit_password
という感じです。
spinBoxの属性変更。
minimum 0 -> 1
maxmum 99 -> 65535
QAbstractSpinBoxの属性を以下のように変更。
alignment 横方向 左端揃え -> 右端揃え
今思いつく所はこんなもんでしょうか。なにかあったら、またQt Assistantで調べて変更しましょう。
lineEdit_passwordは、生のテキストでなく"******"というふうに表示されたほうがいいとかも要検討でしょうかね。
http://youtu.be/vj29ylEFglw
それにしても、デザインが素人丸出しですね…困った(^-^;
Qt Designerの出力した"ui_setting_dialog.h"というソースファイルを利用して、SettingDialogという新しいクラスを作ったのですが、これに関しては「入門Qt4プログラミング」のP.31あたりに書いてありますね。って、これで分かるのでしょうか…
[settingdialog.h]
#ifndef SETTINGDIALOG_H
#define SETTINGDIALOG_H
// Qt header
#include <QDialog>
// Local Header
#include "ui_setting_dialog.h"
namespace brynhildr {
class SettingDialog : public QDialog, private Ui::SettingDialog
{
Q_OBJECT
public:
// Constructor
SettingDialog(QWidget *parent = 0);
private slots:
void on_lineEdit_hostname_textChanged();
void on_comboBox_hosttype_currentIndexChanged(int index);
void on_spinBox_portno_valueChanged(int i);
void on_lineEdit_password_textChanged();
};
} // end of namespace brynhildr
#endif // SETTINGDIALOG_H
[settingdialog.cpp]
// System Header
#include <iostream>
// Qt header
#include <QDialog>
// Local Header
#include "settings.h"
#include "settingdialog.h"
using namespace std;
namespace brynhildr {
SettingDialog::SettingDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
// setting
// for hosttype
comboBox_hosttype->insertItem(SERVER_TYPE_WINDOWS_XP, "Windows XP");
comboBox_hosttype->insertItem(SERVER_TYPE_WINDOWS_VISTA, "Windows Vista");
comboBox_hosttype->insertItem(SERVER_TYPE_WINDOWS_7, "Windows 7");
comboBox_hosttype->insertItem(SERVER_TYPE_WINDOWS_8, "Windows 8");
comboBox_hosttype->insertItem(SERVER_TYPE_WINDOWS_8_1, "Windows 8.1");
}
void SettingDialog::on_lineEdit_hostname_textChanged()
{
cout << "text Changed : hostname" << endl;
}
void SettingDialog::on_comboBox_hosttype_currentIndexChanged(int index)
{
cout << "index Changed : hosttype" << endl;
}
void SettingDialog::on_spinBox_portno_valueChanged(int i)
{
cout << "value Changed : portno" << endl;
}
void SettingDialog::on_lineEdit_password_textChanged()
{
cout << "text Changed : password" << endl;
}
} // end of namespace brynhildr
« 進捗記録 2014.6.5 | トップページ | Qt Designerを使ってみる その4 »
コメント