C++ GUI Qt4编程(05)-2.2GoToCell

1. 使用Qt设计师创建GoToCell对话框。

2. gotocelldialog.cpp

 1 #include <QRegExp>
 2
 3 #include "gotocelldialog.h"
 4
 5 GoToCellDialog::GoToCellDialog(QWidget *parent)
 6     : QDialog(parent)
 7 {
 8     setupUi(this);        /*初始化窗体*/
 9     /*setupUi()函数会自动将符合on_objectName_signalName()命名惯例的任意槽
10        与相应的objectName的signalName()信号连接到一起。*/
11
12     /*{0,2}中2前面不能有空格,有空格的话,lineEdit框中无法输入*/
13     QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
14     /*QRegExpValidator检验器类*/
15     /*把this传递给QRegExpValidator的构造函数,使它成为GoToCellDialog对象的一个子对象*/
16     lineEdit->setValidator(new QRegExpValidator(regExp, this));
17
18     connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
19     connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
20 }
21
22 /*启用或禁用OK按钮*/
23 void GoToCellDialog::on_lineEdit_textChanged()
24 {
25     /*QLineEdit::hasAcceptableInput()会使用在构造函数中设置的检验器来判断行编辑器中内容的有效性*/
26     okButton->setEnabled(lineEdit->hasAcceptableInput());
27 }

3. gotocelldialog.h

 1 /**/
 2 #ifndef GOTOCELLDIALOG_H
 3 #define GOTOCELLDIALOG_H
 4
 5 #include <QDialog>
 6
 7 #include "ui_gotocelldialog.h"
 8
 9 class GoToCellDialog : public QDialog, public Ui::GoToCellDialog
10 {
11     Q_OBJECT
12
13 public:
14     GoToCellDialog(QWidget *parent = 0);
15
16 private slots:
17     void on_lineEdit_textChanged();
18 };
19
20 #endif

4. main.cpp

 1 #include <QApplication>
 2
 3 #include "gotocelldialog.h"
 4
 5 int main(int argc, char *argv[])
 6 {
 7     QApplication app(argc, argv);
 8
 9     GoToCellDialog *dialog = new GoToCellDialog;
10     dialog->show();
11
12     return app.exec();
13 }
14
15 #if 0
16
17 #include <QApplication>
18 #include <QDialog>
19
20 #include "ui_gotocelldialog.h"
21
22
23 int main(int argc, char *argv[])
24 {
25     QApplication app(argc, argv);
26
27     Ui::GoToCellDialog ui;
28     QDialog *dialog = new QDialog;
29     ui.setupUi(dialog);
30     dialog->show();
31
32     return app.exec();
33 }
34
35 #endif

时间: 2024-08-13 02:26:05

C++ GUI Qt4编程(05)-2.2GoToCell的相关文章

C++ GUI Qt4编程(03)-1.3layout

1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #include <QHBoxLayout> #include <QSlider> #include <QSpinBox> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *win

C++ Gui Qt4编程学习之路(1)——Qt环境搭建

前言 因为公司需要做一个关于linux下qt的开发,加上直接接触过一些qt,便开始临阵磨枪了. 之前有用qt写过一个2048的游戏,大概3.4月份的时候,那会2048正火,想想自己在电脑上也做了一个~便默默的写了一个,界面有些丑陋,却五脏俱全~下次把思路和一些代码再归纳归纳,再写到博客里来. 虽然写过一点小东西,但基础还是很单薄,所以为了让基础更加巩固一些,便开始阅读C++ Gui Qt4编程这本书,这本书的确挺不错的. Qt环境搭建 首先要搭建Qt的环境,网上有很多版本供下载的,我便下载最新的

C++ GUI Qt4编程(01)-1.1Hello Qt

1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:hello.cpp #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello, Qt!"); label->show();

C++ GUI Qt4编程(07)-3.1menu

1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> class QMenu; class QAction; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(); private: /*菜单*/ QMenu *fileMenu; QMenu

C++ GUI Qt4编程-创建自定义窗口部件

C++ GUI Qt4编程-创建自定义窗口部件 Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部件集成到Qt设计师中,这样就可以像使用内置的Qt窗口部件一样来使用它们,最后展示使用双缓冲技术(一种用于快速绘制的强大技术)的自定义窗口部件. 1.自定义Qt窗口部件 我们发现Qt窗口部件需要更多的自定义定制,这些定制可能要比它在Qt设计师里设置的属性或者对它调用的那些函数更多一些,一个简单而直接的解决

C++ GUI Qt4编程(10)-3.4spreadsheet

1. C++ GUI Qt4编程第三章,增加spreadsheet. 2. spreadsheet.h 1 /**/ 2 #ifndef SPREADSHEET_H 3 #define SPREADSHEET_H 4 5 #include <QTableWidget> 6 7 class Spreadsheet : public QTableWidget 8 { 9 Q_OBJECT 10 11 public: 12 Spreadsheet(QWidget *parent = 0); 13 v

《C++ GUI Qt4 编程(第二版)》——读书心得

<附录D> C++入门 可以在同一个.cpp文件中实现多个类,也可以把一个类的实现分散到多个.cpp文件中     int main(int argc, char *argv[])   //argc:argument count,argv:argument value Argv[0]存放程序的名字,argv[1].argv[2]........argv[argc-1]存放命令行参数 头文件(header file): 将函数原型放到一个单独的文件中,在需要调用这个函数的所有编译单元中包含该文件

C++ GUI Qt4学习笔记05

C++ GUI Qt4学习笔记05 qtc++正则表达式 QIntValidator           --  只让用户输入整数 QDoubleValidator     --  只让用户输入浮点数 QRegExpValidator    --  只让用户按照正则表达式定义好的样式进行输入 本章讲解如何使用Qt开发自定义窗口部件. 通过对一个已经存在的Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件. 集成自定义窗口到Qt设计师中,这样就可以像使用内置的Qt窗

C++ GUI Qt4学习笔记07

C++ GUI Qt4 qtc++scrollobject编程 事件(event)是由串口系统或者Qt自身产生的,用以响应所发生的各类事情.当用户按下或者松开键盘或者鼠标上的按键时,就可以产生一个键盘或者鼠标事件:当某个窗口第一次显示的时候,就会产生一个绘制事件.用来告知窗口需要重绘制它本身,从而使得该窗口可见. 使用Qt进行编程开发时,基本不需要考虑事件,Qt窗口部件都会发射信号.但是当我们需要编写自己的自定义窗口部件,或者是当我们希望改变已经存在的Qt窗口部件的行为时,事件就变得非常有用了.