Qt5を使用して、ウィンドウをカスタマイズする方法は何ですか?
Qt5では、QWidgetクラスやQMainWindowクラスを継承してウィンドウをカスタマイズすることができます。
以下はカスタムウィンドウのサンプルコードです。
#include <QtWidgets>
class CustomWindow : public QWidget
{
public:
CustomWindow(QWidget *parent = nullptr) : QWidget(parent)
{
// 设置窗体的标题和大小
setWindowTitle("Custom Window");
setFixedSize(400, 300);
// 创建和设置窗体的其他控件
QLabel *label = new QLabel("Hello, World!", this);
label->setFont(QFont("Arial", 20));
label->setAlignment(Qt::AlignCenter);
QPushButton *button = new QPushButton("Click me", this);
connect(button, &QPushButton::clicked, this, &CustomWindow::onButtonClick);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(label);
layout->addWidget(button);
setLayout(layout);
}
private slots:
void onButtonClick()
{
QMessageBox::information(this, "Message", "Button clicked!");
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
CustomWindow window;
window.show();
return app.exec();
}
例のコードでは、QWidgetクラスを継承したCustomWindowクラスを作成しました。CustomWindowのコンストラクタでは、ウィンドウのタイトルとサイズを設定し、ラベルとボタンを作成して、それらをウィンドウのレイアウトに追加しました。
setLayout()関数を呼び出すことで、ウィンドウのメインレイアウトを設定しました。最後に、main()関数でCustomWindowオブジェクトを作成し、表示しました。
自分のニーズに合わせて、さらにウィンドウのコントロールやレイアウトをカスタマイズすることができます。