Qt の QPushButton コントロールの共通プロパティ、メソッド、シグナル
1. QPushButton コントロールの共通プロパティ
2. QPushButton コントロールの共通メソッド
3. QPushButton コントロールの共通信号
1. QPushButton コントロールの共通プロパティ (プロパティ)
1.テキスト:
説明: ボタンに表示されるテキスト。
使用法:
button->setText("Click me");
2.スタイルシートの設定
説明: コントロールの
設定に使用されるスタイル シート 使用法://#00(r红)00(g绿色)00(b蓝色) button->setStyleSheet("border: 1px solid red;" "border-top: 0;" "border-left: 0;" "border-right: 0;" "background-color: #00aa00" ); button2->setStyleSheet(QString("background-color: %1;" "border-radius:%2px;") .arg("green").arg(10));
3. アイコン:
説明: ボタンに表示されるアイコン。
使用法:
button->setIcon(QIcon(":/images/icon.png"));
4. サイズ変更:
説明: リセット ボタンのサイズ。
使用法:
button->resize(80, 50); //(width,heigth)
5.移動:
説明: ボタンの位置を移動します。
使用法:
//width():获取控件的宽度 height(): 获取控件高度 button->move(QPoint((width() - button->width()) / 2, (height() - >button->height()) / 2)); //或直接输入x轴和y轴 button->move(30, 50);
6. チェック可能:
説明: ボタンがトグル状態 (押された状態と放された状態) かどうかを示します。
使用法:
button->setCheckable(true);
7. チェックした内容:
説明: ボタンの選択状態を設定または取得します。
checkable
のtrue
場合にのみ有効です。使用法:
button->setChecked(true); // 或 bool isChecked = button->isChecked();
8. 有効:
説明: ボタンの有効ステータス (使用可能または無効) を設定または取得します。
使用法:
button->setEnabled(false); // 或 bool isEnabled = button->isEnabled();
9. 目に見える:
説明: ボタンの表示状態 (表示または非表示) を設定または取得します。
使用法:
button->setVisible(false); // 或 bool isVisible = button->isVisible();
10. ショートカット:
説明: アプリケーションでボタンのクリックをトリガーするために使用される、ボタンのショートカット キーを設定します。
使用法:
button->setShortcut(QKeySequence("Ctrl+S"));
11. ツールチップ:
説明: マウスをホバーしたときに表示されるボタンのツールチップ テキストを設定します。
使用法:
button->setToolTip("Click this button to save.");
12. ステータスのヒント:
説明: ボタンのステータス プロンプト テキストを設定します。通常はステータス バーに表示されます。
使用法:
button->setStatusTip("Save the current changes.");
13. これは何ですか:
説明: ボタンの「これは何ですか」ヘルプ テキストを設定します。通常は状況依存のヘルプに使用されます。
使用法:
button->setWhatsThis("This button is used to save the changes you've made.");
14. 自動デフォルト:
説明: に設定すると
true
、フォーカスがなくても Enter キーによってボタンをトリガーできます。使用法:
button->setAutoDefault(true);
15.デフォルト:
説明: に設定すると
true
、ボタンはデフォルトのボタンとして指定され、通常はデフォルトの外観 (太字テキストなど) が表示されます。使用法:
button->setDefault(true);
16.フラット:
説明: に設定すると
true
、ボタンには背景がなく、テキストまたはアイコンのみが表示されます。使用法:
button->setFlat(true);
17.メニュー:
説明: ボタンに関連付けられたポップアップ メニューを設定します。
使用法:
button->setMenu(menu);
2. QPushButton コントロールの共通メソッド (メソッド)
1.クリック():
説明: ボタンのクリック アクションをシミュレートし、ボタンの対応するスロット機能をトリガーします。
使用法:
button->click();
2. setText(const QString &text):
説明: ボタンに表示されるテキストを設定します。
使用法:
button->setText("New Text");
3. setIcon(const QIcon &icon):
説明: ボタンに表示されるアイコンを設定します。
使用法:
button->setIcon(QIcon(":/images/new_icon.png"));
4. setChecked(ブールチェック):
説明: ボタンの選択状態を設定します。これは
checkable
の場合にのみ有効ですtrue
。使用法:
button->setChecked(true);
5. setEnabled(ブール値が有効):
説明: ボタンの有効ステータス (
true
有効、false
無効) を設定します。使用法:
button->setEnabled(false);
6. setVisible(ブール表示):
説明: ボタンの表示状態 (
true
表示、false
非表示) を設定します。使用法:
button->setVisible(true);
7. setShortcut(const QKeySequence &key):
説明: ボタンのショートカットキーを設定します。
使用法:
button->setShortcut(QKeySequence("Ctrl+N")); button->setShortcut(QKeySequence("Shift+Ctrl+S")); button->setShortcut(QKeySequence("Alt+X")); //Ctrl+Shift+P button->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_P));
8. setToolTip(const QString &tip):
説明: ボタンのツールヒントのテキストを設定します。
使用法:
button->setToolTip("Click this button to create a new item.");
9. setStatusTip(const QString &tip):
説明: ボタンのステータス プロンプト テキストを設定します。
使用法:
button->setStatusTip("Create a new item.");
11. setWhatsThis(const QString &text):
説明: ボタンの「これは何ですか」というヘルプ テキストを設定します。
使用法:
button->setWhatsThis("This button is used to create a new item.");
12. setAutoDefault(ブール値が有効):
説明: ボタンが Enter キーに応答するかどうかを設定します (
true
応答する、false
応答しない)。使用法:
button->setAutoDefault(true);
13. setDefault(ブール値が有効):
説明: ボタンがデフォルトのボタンかどうかを設定します。
使用法:
button->setDefault(true);
14. setFlat(ブール有効):
説明: ボタンがフラット スタイル (背景なし) であるかどうかを設定します。
使用法:
button->setFlat(true);
15. setMenu(QMenu *menu):
説明: ボタンに関連付けられたポップアップ メニューを設定します。
使用法:
button->setMenu(menu);
3. QPushButton コントロールの共通信号
これらの信号はさまざまなボタンの操作や状態の変化を表しており、これらの信号を対応するスロット機能に接続して、特定のイベントが発生したときに必要なアクションを実行できます。
1. クリックされました():
説明: ボタンがクリックされたときに発生します。
使用法: ボタンがクリックされたときにアクションを実行するには、この信号を接続します。
2.customContextMenuRequested(const QPoint &pos):
説明: ユーザーがカスタム コンテキスト メニューを要求したときに発行されます。
使用法: この信号を接続して、ユーザーがコンテキスト メニューを要求したときにアクションを実行します。
3.破棄(QObject *obj = nullptr):
説明: オブジェクトが破壊されたときに発生します。
使用法: この信号は通常、直接接続されませんが、オブジェクトの管理とクリーンアップに使用されます。
4. objectNameChanged(const QString &objectName):
説明: オブジェクト名が変更されたときに発生します。
使用法: オブジェクト名が変更されたときにアクションを実行するには、この信号を接続します。
5. 押された():
説明: ボタンが押されたときに発生します。
使用法: ボタンが押されたときにアクションを実行するには、この信号を接続します。
6. release():
説明: ボタンを放したときに発生します。
使用法: ボタンを放したときにアクションを実行するには、この信号を接続します。
7. トグル (ブールチェック):
説明: ボタンの選択状態が変化したときに発生し、
true
チェック可能が の場合にのみ有効です。
使用法: ボタンの選択状態が切り替わったときにアクションを実行するには、この信号を接続します。
8. windowIconChanged(const QIcon &icon):
説明: ウィンドウのアイコンが変化すると発生します。
使用法: ウィンドウ アイコンが変化したときにアクションを実行するには、この信号を接続します。
9. windowIconTextChanged(const QString &iconText):
説明: ウィンドウ アイコンのテキストが変更されるときに発生します。
使用法: ウィンドウ アイコンのテキストが変更されたときにアクションを実行するには、この信号を接続します。
10. windowTitleChanged(const QString &title):
説明: ウィンドウのタイトルが変更されるときに発生します。
使用法: ウィンドウのタイトルが変更されたときにアクションを実行するには、この信号を接続します。
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//this->setFixedSize(640, 480);//设置窗口大小为固定尺寸
this->setFixedSize(QSize(640, 480));//通过匿名对象设置固定窗口大小
this->setWindowTitle(QString("按钮"));//设置标题
//this->setWindowIcon("");
//构造按钮,指定父对象为this,实际就是当前界面的构造按钮
QPushButton *btn = new QPushButton(this);
btn->setText(QString("按钮1"));//setText():设置文本
btn->resize(80, 50);//resize():重置按钮大小(w,h)
//width():获取控件的宽度 height(): 获取控件高度
btn->move(QPoint((width() - btn->width()) / 2, (height() - btn->height()) / 2));//移动按钮位置
//#00(r红)00(g绿色)00(b蓝色)
btn->setStyleSheet("border: 1px solid red;"
"border-top: 0;"
"border-left: 0;"
"border-right: 0;"
"background-color: #00aa00"
);
QPushButton *btn1 = new QPushButton(QString("按钮2"));
btn1->setParent(this);
//setGeometry():设置控件的位置和尺寸 x():获取控件的x坐标 y():获取控件y坐标
btn1->setGeometry(btn->x() - 80, btn->y() - 50, 80, 50);
btn1->setIcon(QIcon(":/qq.jpg"));
btn1->setIconSize(QSize(80, 25));//设置图标的尺寸
QPushButton *btn2 = new QPushButton(QString("按钮3"),this);
btn2->setFixedSize(80, 50);
btn2->move(btn->x() + btn->width(), btn->y() + btn->height());
//btn2->setGeometry(btn->x() + 80, btn->y() + 50, 80, 50);
}
Widget::~Widget()
{
}