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オブジェクトを作成し、表示しました。

自分のニーズに合わせて、さらにウィンドウのコントロールやレイアウトをカスタマイズすることができます。

bannerAds