在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();
}
在上面的示例代碼中,我們創建了一個CustomWindow類,繼承自QWidget類。在CustomWindow的構造函數中,我們設置了窗體的標題和大小,并創建了一個標簽和一個按鈕,然后將它們添加到窗體的布局中。
通過調用setLayout()函數,我們將布局設置為窗體的主布局。最后,我們在main()函數中創建了一個CustomWindow對象,并顯示它。
你可以根據自己的需求,進一步自定義窗體的控件和布局。