Qt实战-简单的点名程序和抽奖程序

今天做的是在把照片放到Qt上,做一个点名的程序,只有三个按键
在这里插入图片描述
创建一个Qt控件项目,选择Qt Gui应用
在这里插入图片描述取完名字一直下一步后选择Widget
在这里插入图片描述

弄好后打开界面文件,进行设计,背景大小要比图形大一点,因为要放三个按键(Push Button),设置一个label,大小和图片一样

大小在这里设置然后新建一个文件,类型是Qt->Qt资源文件,把照片放进去
在这里插入图片描述
下一步是把照片放进label中,将label改变样式表,添加资源(background-image),选中图片

然后就差不多了,这里我偷懒将三个按键转为了槽(右键点击按键,转到槽,然后clicked,转槽之前要先设置好名字,不然函数名不好看),下面是我名字设置

在这里插入图片描述widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT
    int image_index;
    
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    
private slots:
    void on_btn_prev_clicked();

    void on_btn_next_clicked();

    void on_btn_random_clicked();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include <stdio.h>
#include <stdlib.h>
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    image_index = 1;
    ui->setupUi(this);
    //设置第一个图片
    ui->image->setStyleSheet("background-image: url(:/new/prefix1/image/1.jpg);");
    //使按键无效
    //ui->btn_prev->setEnabled(false);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_btn_prev_clicked()
{
    if(1 == image_index)
    {
        image_index = 5;
    }
    qDebug("%d",image_index--);
    char buf[256] = {};
    sprintf(buf,"background-image: url(:/new/prefix1/image/%d.jpg);",image_index);
    ui->image->setStyleSheet(buf);
}

void Widget::on_btn_next_clicked()
{
    if(5 == image_index)
    {
        image_index = 0;
    }
    qDebug("%d",image_index++);
    char buf[256] = {};
    sprintf(buf,"background-image: url(:/new/prefix1/image/%d.jpg);",image_index);
    ui->image->setStyleSheet(buf);
}

void Widget::on_btn_random_clicked()
{
    int jpg = rand()%15+1;
    while(jpg--)
    {
        sleep(1);
        qDebug("%d",image_index++);
        if(6 == image_index)
            image_index = 1;
        char buf[256] = {};
        sprintf(buf,"background-image: url(:/new/prefix1/image/%d.jpg);",image_index);
        ui->image->setStyleSheet(buf);
        QApplication::processEvents();
    }
}
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个简单Qt-Designer 点名程序的示例代码: ```python from PyQt5 import QtWidgets, uic import random class MyWindow(QtWidgets.QMainWindow): def __init__(self): super(MyWindow, self).__init__() uic.loadUi('mainwindow.ui', self) #加载 UI 文件 self.studentList = ['Alice', 'Bob', 'Cathy', 'David', 'Eva', 'Frank'] #学生名单 self.pushButton.clicked.connect(self.pickOne) #连接按钮的点击事件和 pickOne 函数 def pickOne(self): student = random.choice(self.studentList) #从名单中随机选择一个学生 self.label.setText(student) #在标签上显示选中的学生名字 if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_()) ``` 在此示例中,我们使用 Qt Designer 创建了一个窗口 UI,并在其中添加了一个标签 `label` 和一个按钮 `pushButton`。我们将按钮的点击事件连接到 `pickOne` 函数,该函数将从预定义的学生名单中随机选择一个学生,并在标签上显示其名字。 你可以按照以下步骤创建此 UI: 1. 打开 Qt Designer。 2. 创建一个新的窗口(Main Window)。 3. 将一个标签(Label)和一个按钮(Push Button)拖放到窗口中。 4. 在属性编辑器中为标签和按钮设置相应的名称和标签文本。 5. 将 UI 保存为 `mainwindow.ui` 文件。 然后你可以运行以上代码,在窗口中点击按钮,程序会随机选择一个学生并在标签上显示其名字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值