Linux环境下Qt4图形界面与MySQL编程在Linux操作系统环境下,图形界面与数据库编程技术越来越受到广泛重视。本书以图形界面编程控件与数据库编程基础→简单易学的实例→实际工程项目开发与场景分析为写作主线,以当前最新的Qt4.7为依据,采... 立即去当当网订购首先创建标准的Qt Gui Application项目,把项目在主界面中自动生成的toolBar、menuBar和statusBar删除,界面设计结果如图3-83所示。 1.控件说明在属性编辑窗口中对控件的属性进行修改,修改内容如表3-22所示。
2.示例说明程序执行后,dateTimeEdit显示当前系统时间,并时刻更新;dateTimeEdit、dateEdit和timeEdit是只读的;单击按钮“Edit Date”,可以编辑dateEdit,dateTimeEdit和dateEdit是同步的。单击按钮“OK”,结束编辑,dateEidt变成只读的;单击按钮“Edit Time”,可以编辑timeEdit,dateTimeEdit和timeEdit是同步的。单击按钮“OK”,结束编辑,timeEidt变成只读的。 3.示例实现头文件mainwindow.h(文中的粗体为需要添加的内容):
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ∼MainWindow(); private: Ui::MainWindow *ui; private slots: //声明槽函数 void
on_btnEditTime_clicked(); void on_btnOk_clicked(); void on_btnEditDate_clicked(); void timeoutslot(); }; #endif // MAINWINDOW_H 声明四个槽函数,槽函数timeoutslot()是自己声明的,对应定时器timer;其他三个槽函数都是通过右击控件→Go to slots自动生成的,所以不用在实现文件中添加映射函数。在主窗体mainwindow.cpp文件中自动生成如下代码: #include
"mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } 在主窗体mainwindow.cpp文件中添加的头文件: #include 在主窗体mainwindow.cpp文件中构造函数:
/***构造函数***/ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); /*********初始化**********************************/ ui->dateTimeEdit->setDate(QDate::currentDate()); //获取当前日期 ui->dateTimeEdit->setTime(QTime::currentTime());//获取当前时间
QTimer *timer=new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(timeoutslot()));//timeoutslot()为自定义槽 /*********启动timer定时器******************************/ timer->start(1000); } 在主窗体mainwindow.cpp文件中添加QPushButton btnEditDate的槽函数: /***********定义槽函数,编辑date***********************/
void MainWindow::on_btnEditDate_clicked() { ui->dateEdit->setReadOnly(false); //设置dateEdit的只读属性为假 connect(ui->dateEdit,SIGNAL(dateChanged(QDate)),ui->dateTimeEdit, SLOT(setDate(QDate))); } 在主窗体mainwindow.cpp文件中添加QPushButton btnEditTime的槽函数: /**********定义槽函数,编辑时间***************************/
void MainWindow::on_btnEditTime_clicked() { ui->timeEdit->setReadOnly(false); //设置timeEdit的只读属性为假 connect(ui->timeEdit,SIGNAL(timeChanged(QTime)),ui->dateTimeEdit, SLOT(setTime(QTime))); } 在主窗体mainwindow.cpp文件中添加QPushButton btnOk的槽函数: /***********定义槽函数,保存编辑***************************/
void MainWindow::on_btnOk_clicked() { ui->dateEdit->setReadOnly(true); ui->timeEdit->setReadOnly(true); } 在主窗体mainwindow.cpp文件中添加QTimer timer的槽函数: /***********定义timer的槽函数*********************************/ void MainWindow::timeoutslot() { QDate date = ui->dateTimeEdit->date();
QTime time = ui->dateTimeEdit->time(); QTime time1(23,59,59); if(time == time1) { date = date.addDays(1); } time = time.addSecs(1); ui->dateTimeEdit->setDate(date); ui->dateTimeEdit->setTime(time); } 主文件main.cpp没有进行任何更改,使用项目自动生成的即可。
qt Date/Time Edit
最新推荐文章于 2025-03-05 22:46:34 发布