在 QT 中,你可以使用 QListView 或 QTableView 控制項來實現手機頁面滑動的效果。
以下是使用 QListView 實現手機頁面滑動的範例:
#include <QApplication>
#include <QListView>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 創建模型
QStandardItemModel model;
for (int i = 1; i <= 20; i++) {
model.appendRow(new QStandardItem(QString("Item %1").arg(i)));
}
// 創建 QListView
QListView view;
view.setModel(&model);
view.setFlow(QListView::LeftToRight); // 設定瀑布流的方向
view.setWrapping(true); // 允許滑動到最後一頁時循環顯示
view.setViewMode(QListView::IconMode); // 設定圖示模式
view.setMovement(QListView::Static); // 設定不允許拖動改變順序
view.setResizeMode(QListView::Adjust); // 設定大小自適應
view.setSpacing(10); // 設定圖示間的間隔
view.setUniformItemSizes(true); // 設定所有圖示大小相同
view.setSelectionMode(QAbstractItemView::NoSelection); // 設定不允許選擇
view.setGridSize(QSize(200, 200)); // 設定圖示的大小
view.show();
return a.exec();
}
上面的程式碼會創建一個包含 20 個項目的手機頁面滑動視圖。你可以通過滑動視圖來查看不同的頁面。
如果你想使用 QTableView 實現手機頁面滑動,可以參考以下程式碼:
#include <QApplication>
#include <QTableView>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 創建模型
QStandardItemModel model(4, 4); // 4 行 4 列
for (int row = 0; row < 4; row++) {
for (int column = 0; column < 4; column++) {
QStandardItem *item = new QStandardItem(QString("Item %1").arg((row * 4) + column + 1));
model.setItem(row, column, item);
}
}
// 創建 QTableView
QTableView view;
view.setModel(&model);
view.horizontalHeader()->setVisible(false); // 隱藏水平表頭
view.verticalHeader()->setVisible(false); // 隱藏垂直表頭
view.setShowGrid(false); // 隱藏網格
view.setSelectionMode(QAbstractItemView::NoSelection); // 設定不允許選擇
view.setVerticalScrollMode(QAbstractItemView::ScrollPerItem); // 設定垂直滾動模式
view.setHorizontalScrollMode(QAbstractItemView::ScrollPerItem); // 設定水平滾動模式
view.resizeColumnsToContents(); // 調整列的寬度
view.resizeRowsToContents(); // 調整行的高度
view.show();
return a.exec();
}
上面的程式碼會創建一個包含 4 行 4 列的手機頁面滑動視圖。你可以通過滑動視圖來查看不同的頁面。
希望這些範例能幫助你了解如何使用 QT 實現手機頁面滑動。