首页 > 其他分享 >QT/QMessageBox/QTimerEvent/使用定时器制作一个闹钟

QT/QMessageBox/QTimerEvent/使用定时器制作一个闹钟

时间:2024-06-21 11:01:15浏览次数:12  
标签:Widget QT quot rgba color ui QMessageBox QTimerEvent 255

1.使用定时器制作一个闹钟

代码:

widget.cpp:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
    , speecher(new QTextToSpeech(this))//给语音对象申请空间
{
    ui->setupUi(this);
    this->setWindowTitle("闹钟");//设置窗口标题
     this->setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//设置窗口图标
    this->setWindowFlag(Qt::FramelessWindowHint);//隐藏窗口图标
    this->setAttribute(Qt::WA_TranslucentBackground);//去除多余空白部分

}

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

void Widget::timerEvent(QTimerEvent *e)
{
    if(e->timerId()==id){
        //获取系统时间,并显示
        QTime sys_time=QTime::currentTime();//获取当前时间
        QString time_str=sys_time.toString("hh:mm:ss");//将获取的时间格式转为字符串
        ui->sys_time->setText(time_str);//显示到标签
        ui->sys_time->setAlignment(Qt::AlignCenter);//居中显示
    }
    if(e->timerId()==id2){
        for(int i=0;i<5;i++){//设置响铃次数
            speecher->say(ui->labtext->text());
        }
        killTimer(id2);//关闭闹钟
    }

}


void Widget::on_pushButton_clicked()
{
    static int SS;
    QString Str=ui->lineEdit->text();//获取行编辑器内容
    static int flag=0;
    if(flag%2==0){
    //QString Str=ui->lineEdit->text();//获取行编辑器内容
    //对字符串进行处理
    QStringList stringList=Str.split(":");//分割
    QString h=stringList[0];//小时
    QString m=stringList[1];//分钟
    QString s=stringList[2];//秒
    //将字符串转换为整数
    bool ok1,ok2,ok3;
    int H=h.toInt(&ok1,10);
    int M=m.toInt(&ok2,10);
    int S=s.toInt(&ok3,10);
    if(ok1==false||ok2==false||ok3==false||H>24||M>60||S>60){
        QMessageBox box;
        box.setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//自定义窗口图标
        box.setWindowTitle("闹钟设置不合法");
        box.setText("示例:小时:分钟:秒");
        box.addButton(QMessageBox::Ok);
        int retb=box.exec();//调用对话框
        if(retb==QMessageBox::Ok){
             ui->lineEdit->clear();//清空行编辑器内容
        }
    }else{
        //判断闹钟设置是否合法
        //qDebug() << H <<" " << M << " " << S;
        SS=H*60*60+M*60+S;//总秒数
        //弹出对话框,提示设置闹钟声音内容
        QMessageBox BOX;
        BOX.setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//自定义窗口图标
        BOX.setWindowTitle("提示");
        BOX.setText("设置闹钟文本");
        BOX.addButton(QMessageBox::Ok);
        int ret=BOX.exec();//调用对话框
        if(ret==QMessageBox::Ok){
            ui->lineEdit->setPlaceholderText("输入闹钟文本");//设置占位
            ui->lineEdit->clear();//清空行编辑器内容
        }
    }
    }else if(flag%2==1){
        //将行编辑内容放入到textlab中
        ui->labtext->setText(Str);
        ui->labtext->setAlignment(Qt::AlignLeft);//左对齐显示
        ui->lineEdit->setPlaceholderText("设置时间x:x:x");//设置占位
        ui->lineEdit->clear();//清空行编辑器内容
        //获取当前时间
        QTime sys_time=QTime::currentTime();//获取当前时间
        QString time_str=sys_time.toString("hh:mm:ss");//将获取的时间格式转为字符串
        //对字符串进行处理
        QStringList stringList=time_str.split(":");//分割
        QString hh=stringList[0];//小时
        QString mm=stringList[1];//分钟
        QString ss=stringList[2];//秒
        //将字符串转为整数
        bool ok;
        int HH=hh.toInt(&ok,10);
        int MM=mm.toInt(&ok,10);
        int Ss=ss.toInt(&ok,10);
        int TSS=HH*60*60+MM*60+Ss;
        //设置一个闹钟
        id2=startTimer((SS-TSS)*1000);

    }
    flag++;
}

main.cpp:

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.id=w.startTimer(1000);//设置一个定时器
    w.show();
    return a.exec();
}

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTimerEvent>
#include <QTime>
#include <QDebug>
#include <QMessageBox>
#include <QTextToSpeech> //文本转语语音
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void timerEvent(QTimerEvent *e);//重写定时器函数事件声明
     int id;//定时器id
     int id2;//闹钟定时器
     int id3;//定义闹钟响铃间隔时间
private slots:
     void on_pushButton_clicked();

private:
    Ui::Widget *ui;
    QTextToSpeech *speecher;//定义语言成员
};
#endif // WIDGET_H

widget.ui:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>458</width>
    <height>600</height>
   </rect>
  </property>
  <property name="font">
   <font>
    <pointsize>9</pointsize>
   </font>
  </property>
  <property name="windowTitle">
   <string>Widget</string>
  </property>
  <property name="styleSheet">
   <string notr="true">*{
	
	background-color: rgb(255, 255, 255);
}
#frame{
	
	border-image: url(:/Logo/shanChuan.jpg);
}
#frame_2{
	
	background-color: rgba(186, 186, 186, 120);
	border-radius:10px;
}
#sys_time{
	background:transparent; /*完全透明*/
	font: 9pt &quot;宋体&quot;;
	color: rgba(255, 255, 255, 120);
}
#lineEdit{
	background:transparent; /*完全透明*/
	border:none;
	border-bottom:2px solid rgba(255,255,255,120);
	color: rgba(255, 255, 255, 120);
}
#pushButton{
	color: rgba(255, 255, 255, 120);
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(170, 255, 255, 255), stop:1 rgba(255, 255, 255, 120));
	font: 14pt &quot;宋体&quot;;
	border-radius:5px;
}
#labtext{
	
	background-color: rgba(217, 217, 217, 120);
	border-radius:5px;
	font: 12pt &quot;宋体&quot;;
	border-radius:5px;
}</string>
  </property>
  <widget class="QFrame" name="frame">
   <property name="geometry">
    <rect>
     <x>20</x>
     <y>20</y>
     <width>421</width>
     <height>561</height>
    </rect>
   </property>
   <property name="frameShape">
    <enum>QFrame::StyledPanel</enum>
   </property>
   <property name="frameShadow">
    <enum>QFrame::Raised</enum>
   </property>
   <widget class="QFrame" name="frame_2">
    <property name="geometry">
     <rect>
      <x>40</x>
      <y>30</y>
      <width>341</width>
      <height>501</height>
     </rect>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
    <widget class="QLineEdit" name="lineEdit">
     <property name="geometry">
      <rect>
       <x>80</x>
       <y>150</y>
       <width>181</width>
       <height>41</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <pointsize>13</pointsize>
      </font>
     </property>
     <property name="placeholderText">
      <string> 设置时间x:x:x</string>
     </property>
    </widget>
    <widget class="QPushButton" name="pushButton">
     <property name="geometry">
      <rect>
       <x>80</x>
       <y>220</y>
       <width>181</width>
       <height>41</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <family>宋体</family>
       <pointsize>14</pointsize>
       <weight>50</weight>
       <italic>false</italic>
       <bold>false</bold>
      </font>
     </property>
     <property name="text">
      <string>确认</string>
     </property>
    </widget>
    <widget class="QLabel" name="labtext">
     <property name="geometry">
      <rect>
       <x>40</x>
       <y>300</y>
       <width>261</width>
       <height>131</height>
      </rect>
     </property>
     <property name="text">
      <string/>
     </property>
    </widget>
   </widget>
   <widget class="QLabel" name="sys_time">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
      <width>91</width>
      <height>21</height>
     </rect>
    </property>
    <property name="text">
     <string/>
    </property>
   </widget>
  </widget>
 </widget>
 <resources/>
 <connections/>
</ui>

2.制作对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示登录成功,提供一个Ok按钮,用户点击OK后,关闭登录界面,跳转到其他界面;如果账号和密码不匹配,弹出错误对话框,给出信息"账号和密码不匹配,是否重新登录";并提供两个按钮Yes/No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则弹出一个问题对话框,给出信息"您是否确定要退出登录?“,并给出两个按钮Yes/No,用户点击Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能;要求:(基于属性版、静态成员函数都使用)实现对话框的弹出

代码:
widget.cpp:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("Shanghai");//设置窗口标题
    this->setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//设置窗口图标
    this->setWindowFlag(Qt::FramelessWindowHint);//隐藏窗口图标
    this->setAttribute(Qt::WA_TranslucentBackground);//去除多余空白部分
    connect(ui->pushButton_2,&QPushButton::clicked,this,&Widget::pushButton_2);//基于QT5版本,手动连接信号与槽,关闭按钮功能实现
    connect(ui->pushButton_3,&QPushButton::clicked,this,&Widget::pushButton_3);//基于QT5版本,手动连接信号与槽,最小化按钮功能实现
    connect(ui->lineEdit_2,&QLineEdit::editingFinished,this,&Widget::lineEdit_2);//获取密码,并进行相应处理

}

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

void Widget::pushButton_2()
{
    this->close();//关闭窗口
}

void Widget::pushButton_3()
{
    this->showMinimized();//最小化
}
void Widget::lineEdit_2()
{
    if(ui->lineEdit_3->text()=="admin"&&ui->lineEdit_2->text()=="123456"){//判断登录账号密码是否一致
        QMessageBox BOX;
        //BOX.setFixedSize(400,800);//大小设置不生效
        BOX.setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//自定义窗口图标
        BOX.setWindowTitle("提示");
        BOX.setText("登录成功");
        BOX.addButton(QMessageBox::Ok);
        BOX.exec();//调用对话框
       // QMessageBox::information(this, "登录成功","");
        this->close();//关闭窗口
        emit widet_singnal();//激活信号函数,跳转下一个窗口
    }else{
        //对话框提示登录失败
        //QMessageBox::information(this, "登录失败","");
        QMessageBox BOX;
        BOX.setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//自定义窗口图标
        BOX.setWindowTitle("账户密码不匹配");
        BOX.setText("是否重新登录?");
        BOX.addButton(QMessageBox::Yes);
        BOX.addButton(QMessageBox::No);
        int ret=BOX.exec();//调用对话框
        if(ret==QMessageBox::Yes){
            ui->lineEdit_2->clear();
            ui->lineEdit_3->clear();//清空行编辑器
        }
        else{
            QMessageBox box;
            box.setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//自定义窗口图标
            box.setWindowTitle("提示");
            box.setText("您是否确认退出登录?");
            box.addButton(QMessageBox::Yes);
            box.addButton(QMessageBox::No);
            int ret1=box.exec();//调用对话框
            if(ret1==QMessageBox::Yes){
                this->close();
            }else{
                ui->lineEdit_2->clear();
                ui->lineEdit_3->clear();//清空行编辑器
            }
       }

    }
}

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    this->setWindowTitle("Shanghai");//设置窗口标题
    this->setWindowIcon(QIcon(":/Logo/shangHai.jpg"));//设置窗口图标
    this->setWindowFlag(Qt::FramelessWindowHint);//隐藏窗口图标
    QMovie *mv=new QMovie(":/Logo/R-C.gif");//设置一个动态图对象指针接收动态图
    ui->label->setMovie(mv);//将动图设置到lab1标签中
    mv->start();//让动图动起来
    ui->label->setScaledContents(true);//让图片自适应标签设置大小

}

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

void Dialog::dialog_slots()
{
    this->show();//打开另一个窗口
}

main.cpp

#include "widget.h"
#include "dialog.h"
#include <QApplication>
#include<QMessageBox>
#include<QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;//实例化一个窗口
    w.show();
    Dialog d;//实例化另一个窗口
    QObject::connect(&w,&Widget::widet_singnal,&d,&Dialog::dialog_slots);//两个窗口建立连接
    return a.exec();
}

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QIcon>
#include <QMovie>
namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = nullptr);
    ~Dialog();
public slots:
    void dialog_slots();//定义槽函数,用于两个窗口建立连接

private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMessageBox>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
public slots:
    void pushButton_2();//x按钮槽函数
    void pushButton_3();//最小化槽函数
    void lineEdit_2();//密码行功能槽函数
signals:
    void widet_singnal();//定义信号函数,用于连接两个窗口
private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>332</width>
    <height>376</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Widget</string>
  </property>
  <property name="styleSheet">
   <string notr="true">*{/*&quot;*&quot;是通配符,匹配所有*/
	background-color: rgb(255, 255, 255);
	color: rgba(255, 255, 255, 120);
}
QFrame#frame{/*“#”也是通配符,匹配一个*/
	border-image: url(:/Logo/shanChuan.jpg);
}
#frame_2{
	background-color: rgba(179, 179, 179, 120);
}
#label{
	
	background-color: rgba(71, 71, 71, 120);
	border-radius:20px;
}
#label_2{
	background:transparent; /*完全透明*/
}
#lineEdit_2{
	background:transparent; /*完全透明*/
	border:none;
	border-bottom:1px solid rgba(255, 255, 255, 120);/*保留底部边框*/
	font: 10pt &quot;等线&quot;;
	color: rgba(255, 255, 255, 120);
}
#lineEdit_3{
	background:transparent; /*完全透明*/
	border:none;
	font: 10pt &quot;等线&quot;;
	border-bottom:1px solid rgba(255, 255, 255, 120);
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton{
	font: 10pt &quot;等线&quot;;
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(58, 130, 205, 255), stop:1 rgba(255, 255, 255, 255));
	color: rgba(255, 255, 255, 120);
	border:none;
	border-radius:5px;
}
#pushButton:hover{/*鼠标移动*/
	font: 10pt &quot;等线&quot;;
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(80, 130, 205, 255), stop:1 rgba(255, 255, 255, 255));
	color: rgba(255, 255, 255, 120);
	border:none;
	border-radius:5px;
}
#pushButton:pressed{/*鼠标按下特效*/
	font: 10pt &quot;等线&quot;;
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(58, 130, 205, 255), stop:1 rgba(255, 255, 255, 255));
	color: rgba(255, 255, 255, 120);
	border:none;
	border-radius:5px;
	padding-top:5px;/*顶部抖动*/
    padding-left:5px;
}
#pushButton_2{
	background:transparent; /*完全透明*/
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton_2:hover{
	background-color: rgb(255, 0, 0);
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton_3{
	background:transparent; /*完全透明*/
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton_3:hover{
	background-color: rgb(60, 239, 255);
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton_4{
	background:transparent; /*完全透明*/
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}
#pushButton_4:hover{
	background-color: rgb(60, 239, 255);
	color: rgba(255, 255, 255, 120);
	font: 10pt &quot;等线&quot;;
}</string>
  </property>
  <widget class="QFrame" name="frame">
   <property name="geometry">
    <rect>
     <x>50</x>
     <y>20</y>
     <width>221</width>
     <height>331</height>
    </rect>
   </property>
   <property name="frameShape">
    <enum>QFrame::StyledPanel</enum>
   </property>
   <property name="frameShadow">
    <enum>QFrame::Raised</enum>
   </property>
   <widget class="QFrame" name="frame_2">
    <property name="geometry">
     <rect>
      <x>-1</x>
      <y>-1</y>
      <width>231</width>
      <height>341</height>
     </rect>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
    <widget class="QLabel" name="label">
     <property name="geometry">
      <rect>
       <x>30</x>
       <y>40</y>
       <width>161</width>
       <height>271</height>
      </rect>
     </property>
     <property name="text">
      <string/>
     </property>
    </widget>
    <widget class="QLabel" name="label_2">
     <property name="geometry">
      <rect>
       <x>70</x>
       <y>60</y>
       <width>81</width>
       <height>41</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <pointsize>15</pointsize>
      </font>
     </property>
     <property name="text">
      <string>Log In</string>
     </property>
    </widget>
    <widget class="QLineEdit" name="lineEdit_2">
     <property name="geometry">
      <rect>
       <x>50</x>
       <y>180</y>
       <width>121</width>
       <height>23</height>
      </rect>
     </property>
     <property name="echoMode">
      <enum>QLineEdit::Password</enum>
     </property>
     <property name="placeholderText">
      <string> Passwd</string>
     </property>
    </widget>
    <widget class="QLineEdit" name="lineEdit_3">
     <property name="geometry">
      <rect>
       <x>50</x>
       <y>140</y>
       <width>121</width>
       <height>23</height>
      </rect>
     </property>
     <property name="placeholderText">
      <string>Username</string>
     </property>
    </widget>
    <widget class="QPushButton" name="pushButton">
     <property name="geometry">
      <rect>
       <x>60</x>
       <y>240</y>
       <width>101</width>
       <height>24</height>
      </rect>
     </property>
     <property name="text">
      <string>Log In</string>
     </property>
    </widget>
    <widget class="QPushButton" name="pushButton_2">
     <property name="geometry">
      <rect>
       <x>200</x>
       <y>0</y>
       <width>24</width>
       <height>24</height>
      </rect>
     </property>
     <property name="text">
      <string>X</string>
     </property>
    </widget>
    <widget class="QPushButton" name="pushButton_3">
     <property name="geometry">
      <rect>
       <x>170</x>
       <y>0</y>
       <width>24</width>
       <height>24</height>
      </rect>
     </property>
     <property name="text">
      <string>-</string>
     </property>
    </widget>
    <widget class="QPushButton" name="pushButton_4">
     <property name="geometry">
      <rect>
       <x>140</x>
       <y>0</y>
       <width>24</width>
       <height>24</height>
      </rect>
     </property>
     <property name="text">
      <string>?</string>
     </property>
    </widget>
   </widget>
  </widget>
 </widget>
 <resources/>
 <connections/>
</ui>

dialog.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Dialog</class>
 <widget class="QDialog" name="Dialog">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>390</width>
    <height>303</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Dialog</string>
  </property>
  <widget class="QDialogButtonBox" name="buttonBox">
   <property name="geometry">
    <rect>
     <x>230</x>
     <y>270</y>
     <width>161</width>
     <height>32</height>
    </rect>
   </property>
   <property name="orientation">
    <enum>Qt::Horizontal</enum>
   </property>
   <property name="standardButtons">
    <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
   </property>
  </widget>
  <widget class="QLabel" name="label">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>391</width>
     <height>271</height>
    </rect>
   </property>
   <property name="text">
    <string/>
   </property>
  </widget>
  <widget class="QLabel" name="label_2">
   <property name="geometry">
    <rect>
     <x>10</x>
     <y>280</y>
     <width>211</width>
     <height>16</height>
    </rect>
   </property>
   <property name="text">
    <string>想欣赏妾身的舞姿吗</string>
   </property>
  </widget>
 </widget>
 <resources/>
 <connections>
  <connection>
   <sender>buttonBox</sender>
   <signal>accepted()</signal>
   <receiver>Dialog</receiver>
   <slot>accept()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>248</x>
     <y>254</y>
    </hint>
    <hint type="destinationlabel">
     <x>157</x>
     <y>274</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>buttonBox</sender>
   <signal>rejected()</signal>
   <receiver>Dialog</receiver>
   <slot>reject()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>316</x>
     <y>260</y>
    </hint>
    <hint type="destinationlabel">
     <x>286</x>
     <y>274</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>

标签:Widget,QT,quot,rgba,color,ui,QMessageBox,QTimerEvent,255
From: https://blog.csdn.net/DJQ2020391635/article/details/139786912

相关文章

  • 基于python-深度学习的混凝土马路和泥地马路识别-含数据集+pyqt界面
    代码下载:https://download.csdn.net/download/qq_34904125/89434765本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-pyto......
  • 基于python-CNN卷积神经网络的鱼类识别-含数据集+pyqt界面
    代码下载地址:https://download.csdn.net/download/qq_34904125/89434763本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-......
  • qt开发-03——信号与槽
    信号与槽(Signal&Slot)是Qt编程的基础,也是Qt的一大创新。因为有了信号与槽的编程机制,在Qt中处理界面各个组件的交互操作时变得更加直观和简单。信号(Signal)就是在特定情况下被发射的事件,例如PushButton最常见的信号就是鼠标单击时发射的clicked()信号,一个ComboBox......
  • qt开发-05_QPushButton
    按钮是最常用的控件;如果找不到文件可以这样:选择这个复制文件的路径,粘贴就可以了。在qt中新建一个项目,并且打开ui界面添加一个按钮;右键这个按钮可以有很多功能:先是这个转到槽,这个就是给按钮的动作添加效果的功能:这里有很多类的槽方法。都是源于他继承的父类。我们选择......
  • clion调试不显示qt变量值的问题
    用Clion做QT开发,调试时不能正常显示qt相关变量的值,只能显示地址,还要切换到qtcreator调试,很麻烦,就在网上找解决办法。搜了一圈,果然找到了,按照这篇文章中Clion调试QTQString看不到值问题处理_macosclion看不到qt变量内容-CSDN博客设置没用,又找到官方文档上一顿操作,还是不行。Q......
  • 基于QT和C++实现的中国象棋
    一,源码board.h#ifndefBOARD_H#defineBOARD_H#include<QWidget>#include"Stone.h"classBoard:publicQWidget{Q_OBJECTpublic:explicitBoard(QWidget*parent=0);bool_bRedTurn;//红方先走int_currentPlayer;//当前玩......
  • Visual Studio + Qt项目 数组超界不会报错。 堆栈 Cookie 检测代码检测到基于堆栈
    使用vs+Qt项目时,数组超界不会崩溃和报错的问题。 开启以下2个即可。  注意:1.启用了地址擦除系统会造成QT的异常崩溃,原因未知。2.有时会报cookie的错误,数组超界了,在退出函数时才会报错。   ......
  • PyQt5和Eric7的安装使用 —— Python篇
    需要安装Python的朋友请看另一篇文章:windows系统安装Python-----并安装使用Pycharm编辑器一、安装PyQt5:1、方法一:使用pip命令在线安装。输入以下命令可以直接安装:pipinstallPyQt5由于安装默认使用国外的镜像,可能因为网络问题会导致下载慢或者失败的现象。所以我们可以......
  • Qt | QPalette 类(调色版)
    01、简介1、需要用到 QWidget类中的如下属性palette:QPalette访问函数:constQPalette&palette()const;voidsetPalette(constQPalette&); 该属性描述了部件的调色板。在渲染标准部件时,窗口部件的样式会使用调色板,而且不同的平台或不同的样式通常具有不同的调色板。 ......
  • 通过python-CNN训练识别夏冬季节风景-含数据集+pyqt界面
    代码下载地址:https://download.csdn.net/download/qq_34904125/89384463本代码是基于pythonpytorch环境安装的。下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。或可直接参考下面博文进行环境安装。深度学习环境安装教程-anaconda-python-......