main.cpp
#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.resize(1920,1080);
w.setWindowTitle(QStringLiteral( "基于qt5开发的应用程序"));
w.show();
w.move(0,0);
qDebug()<<w.geometry().height()<<w.geometry().width();
qDebug()<<w.geometry().x()<<w.geometry().y();
qDebug()<<w.frameGeometry().x()<<w.frameGeometry().y();
qDebug()<<w.frameGeometry().height()<<w.frameGeometry().width();
w.setMinimumSize(1920,1080);
w.setMaximumSize(2020,1180);
return a.exec();
}
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
signals:
//自定义信号
void cust_sig_hide_btn();
private slots:
void on_pushButton_clicked();
//自定义槽
void onChangeLabelText();
void on_cust_sig_hide_btn();
void on_label_2_linkActivated(const QString &link);
void onMyQtBtnClicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTime>
#include <QDateTime>
#include <QDebug>
#include <QIcon>
#include "mydialog.h"
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->pushButton->setFont(QFont("宋体",38));
ui->pushButton->resize(1600,200);
QDateTime t = QDateTime::currentDateTime();
QString strTime=t.toString("yyyy-MM-dd hh:mm:ss.zzz ddd");
ui->pushButton->setText(strTime);
ui->label->setText(t.toString("yyyy"));
ui->label_2->setText(t.toString("MM"));
ui->label_3->setText(t.toString("dd"));
setWindowIcon(QIcon(":/res/icon.ico"));
setStyleSheet("background-image: url(:/res/WechatIMG89.jpeg); ");
//手动链接事件信号与槽
QObject::connect(ui->pushButton,//按钮发起点击信号
SIGNAL(clicked()),//信号名
this,//当前窗口接收信号
SLOT(onChangeLabelText()));//处理信号函数
QObject::connect(this,
SIGNAL(cust_sig_hide_btn()),
this,
SLOT(on_cust_sig_hide_btn()));
connect(ui->myQtBtn,
SIGNAL(clicked()),
this,
SLOT(onMyQtBtnClicked()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
//中文输出要使用fromLocal8Bit
//不然会乱码
qDebug()<<QString::fromLocal8Bit("按钮点击");
myDialog *dlg = new myDialog(this);
dlg->show();
}
void MainWindow::onChangeLabelText()
{
qDebug()<<QString::fromLocal8Bit("手动添加的按钮处理事件");
ui->label->setText("Change");//修改label文本
emit cust_sig_hide_btn();//发起信号
}
void MainWindow::on_cust_sig_hide_btn()
{
//ui->pushButton->hide();
}
void MainWindow::on_label_2_linkActivated(const QString &link)
{
}
void MainWindow::onMyQtBtnClicked()
{
myDialog *dlg = new myDialog(this);
dlg->show();
qDebug()<<QString::fromLocal8Bit("=======按钮点击");
//QApplication::exit(0);
}
void MainWindow::on_pushButton_2_clicked()
{
qDebug()<<QString::fromLocal8Bit("*********按钮点击");
myDialog dlg;
int n= dlg.exec();
if(n==QDialog::Accepted){
qDebug()<<QString::fromLocal8Bit("*********Accepted");
}
if(n==QDialog::Rejected){
qDebug()<<QString::fromLocal8Bit("*********Rejected");
}
}
void MainWindow::on_pushButton_3_clicked()
{
QFileDialog filedlg(nullptr,"open image file","C:\\","ImageFile(*.jpg *.png)");
//filedlg.setDirectory("c:\\");
if(filedlg.exec()==QDialog::Accepted){
}
}