小按钮

for (int i = 0; i < 4; i++) {
    ImageView imageView = new ImageView(ShopActivity.this);
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    // 设置图片
    if (i == 0) {
        imageView.setImageResource(R.drawable.shape_red);
    } else {
        imageView.setImageResource(R.drawable.shape_gray);
    }
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(40, 40);
    params.setMargins(20, 0,20, 0);
   // imageView.setLayoutParams(params);

    ll.addView(imageView, params);
    imageViews.add(imageView);
}

list_view.setAdapter(new ArrayAdapter<String>(ShopActivity.this, android.R.layout.simple_list_item_1, new String[]{}));
handler.sendEmptyMessageDelayed(1, 2000);
private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        if (msg.what==1){
            int item = vp.getCurrentItem();
            vp.setCurrentItem(item+1);
            handler.sendEmptyMessageDelayed(1,2000);

            changePointState((item + 1) % imageViews.size());
        }
    }
};

private void changePointState(int i) {
    for (int j = 0; j < imageViews.size(); j++) {
        if (j == i) {
            imageViews.get(j).setImageResource(R.drawable.shape_red);
        } else {
            imageViews.get(j).setImageResource(R.drawable.shape_gray);
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QStackedWidget是Qt中的一个容器类,用于管理多个嵌套小部件(QWidgets)的堆栈。小按钮用于切换显示不同的小部件。要实现翻页功能,可以使用QStackedWidget的setCurrentIndex()函数来指定当前显示的小部件的索引。 首先,在QStackedWidget中添加多个小部件,每个小部件代表一个页面。可以使用addWidget()函数将小部件添加到QStackedWidget中。 然后,创建一个用于翻页的按钮,并连接按钮的clicked信号到一个槽函数。在槽函数中,通过调用QStackedWidget的currentIndex()函数获取当前显示的小部件的索引。然后,根据需要翻页的方向(向前或向后),使用setCurrentIndex()函数将当前显示的小部件索引加上或减去1,并设置为新的当前索引。 以下是一个简单示例代码: ```cpp #include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); QStackedWidget stackedWidget; // 添加小部件 QWidget *page1 = new QWidget; QWidget *page2 = new QWidget; stackedWidget.addWidget(page1); stackedWidget.addWidget(page2); // 创建按钮 QPushButton *prevButton = new QPushButton("上一页"); QPushButton *nextButton = new QPushButton("下一页"); // 连接按钮的clicked信号到槽函数 QObject::connect(prevButton, &QPushButton::clicked, [&stackedWidget]() { // 向前翻页 int currentIndex = stackedWidget.currentIndex(); stackedWidget.setCurrentIndex(currentIndex - 1); }); QObject::connect(nextButton, &QPushButton::clicked, [&stackedWidget]() { // 向后翻页 int currentIndex = stackedWidget.currentIndex(); stackedWidget.setCurrentIndex(currentIndex + 1); }); // 创建布局,并添加小部件和按钮 QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(&stackedWidget); layout->addWidget(prevButton); layout->addWidget(nextButton); // 设置布局 QWidget window; window.setLayout(layout); window.show(); return app.exec(); } ``` 运行上述代码,会显示一个带有两个页面和上一页/下一页按钮的窗口。点击按钮时,会切换显示不同的页面。其中,QStackedWidget的setCurrentIndex()函数用于翻页。上一页按钮会将当前索引减1,并将新的索引设置为当前索引,下一页按钮则将当前索引加1,并将新的索引设置为当前索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值