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

2. sortdialog.cpp

/**/
#include "sortdialog.h" SortDialog::SortDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this); secondaryGroupBox->hide(); /*隐藏第二个群组框*/
tertiaryGroupBox->hide(); /*隐藏第三个群组框*/
/*固定对话框窗体的大小,布局负责决定对话框的大小。*/
layout()->setSizeConstraint(QLayout::SetFixedSize); setColumnRange('A', 'Z'); /*QPushButton选中checkable属性后,按一下按钮会触发一次toggled信号*/
connect(moreButton, SIGNAL(toggled(bool)), this, SLOT(moreButtonSlot(bool)));
} void SortDialog::setColumnRange(QChar first, QChar last)
{
primaryColumnComboBox->clear();
secondaryColumnComboBox->clear();
tertiaryColumnComboBox->clear(); secondaryColumnComboBox->addItem(tr("None"));
tertiaryColumnComboBox->addItem(tr("None"));
/*QWidget::sizeHint()函数,返回布局系统试图认同的理想的大小*/
/*把主键组合框的最小大小设置成第二键组合框的理想大小*/
primaryColumnComboBox->setMinimumSize(
secondaryColumnComboBox->sizeHint()); QChar ch = first;
while (ch <= last)
{
primaryColumnComboBox->addItem(QString(ch));
secondaryColumnComboBox->addItem(QString(ch));
tertiaryColumnComboBox->addItem(QString(ch));
ch = ch.unicode() + ;
}
} void SortDialog::moreButtonSlot(bool flag)
{
if (flag)
{
moreButton->setText(tr("Advanced<<<"));
}
else
{
moreButton->setText(tr("Advanced>>>"));
}
}

3. sortdialog.h

#ifndef SORTDIALOG_H
#define SORTDIALOG_H #include <QDialog>
#include "ui_sortdialog.h" class SortDialog : public QDialog, public Ui::SortDialog
{
Q_OBJECT public:
SortDialog(QWidget *parent = );
void setColumnRange(QChar first, QChar last);
public slots:
void moreButtonSlot(bool flag);
}; #endif /*SORTDIALOG_H*/

4. main.cpp

#include <QApplication>

#include "sortdialog.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv); SortDialog *dialog = new SortDialog;
dialog->setColumnRange('C', 'F');
dialog->show(); return app.exec();
}

C++ GUI Qt4编程(06)-2.3sort的更多相关文章

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

    1. C++ GUI Qt4编程第三章,增加spreadsheet. 2. spreadsheet.h /**/ #ifndef SPREADSHEET_H #define SPREADSHEET_H ...

  2. C++ GUI Qt4编程(09)-3.3spreadsheet-toolbar

    1. C++ GUI Qt4编程第三章,增加工具栏.状态栏和快捷键. 2. mainwindow.h /**/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #i ...

  3. C++ GUI Qt4编程(08)-3.2spreadsheet-resource

    1. C++ GUI Qt4编程第三章,图片使用资源机制法. 2. 步骤: 2-1. 在resource文件夹下,新建images文件,存放图片. 2-2. 新建spreadsheet.qrc文件,并 ...

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

    1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include < ...

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

    1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #i ...

  6. C++ GUI Qt4编程(02)-1.2quit

    1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:quit.cpp #include <QApplication> #inc ...

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

    1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7:  Qt版本:5.5.13. 程序:hello.cpp #include <QApplication> #in ...

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

    C++ GUI Qt4编程-创建自定义窗口部件   Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部 ...

  9. C++ GUI Qt4 编程 (第二版)

    [加拿大]JasminBlanchette [英]MarkSummerfield . 电子工业 2008. 前几天的问题多是因为版本不兼容的问题. QT本身Q4 Q5就有版本问题,然后集成到VS08 ...

随机推荐

  1. linux信号基本概念及如何产生信号

    linux信号基本概念及如何产生信号 摘自:https://blog.csdn.net/summy_j/article/details/73199069 2017年06月14日 09:34:21 阅读 ...

  2. HTTP Modules versus ASP.NET MVC Action Filters

    from:http://odetocode.com/blogs/scott/archive/2011/01/17/http-modules-versus-asp-net-mvc-action-filt ...

  3. 20169219 Nmap扫描实验

    提交用 namp 对Windows 靶机,SEED靶机,Linux靶机的扫描的命令和结果进行截图 一.首先分析Linux靶机Metasploitable 扫描Metasploitableb靶机 扫描M ...

  4. HTML、CSS、JavaScript网页制作从入门到精通 (刘西杰) pdf扫描版彩色版​

    html.css.JavaScript网页制作从入门到精通中从基础知识开始讲起,如html的基本标记.文字与段落标记.表格标记.超链接标记……同时介绍了目前流行的web标准与css网页布局实例,以及基 ...

  5. mvc - codefirst 数据迁移

    from :http://blog.csdn.net/xiaoyiyz/article/details/41485325

  6. (一)用C或C ++扩展(翻译)

    用C或C ++扩展 如果你知道如何用C语言编程,那么为Python添加新的内置模块是很容易的.这种扩展模块可以做两件不能直接在Python中完成的事情:它们可以实现新的内置对象类型,以及调用C库函数和 ...

  7. ubuntu14.10,安装ksnapshot(截图软件)

    Linux:ubuntu14.10 ubuntu软件中心对它的描述:KSnapshot captures images of the screen.  It can capture the whole ...

  8. 51 nod 1350 斐波那契表示

    每一个正整数都可以表示为若干个斐波那契数的和,一个整数可能存在多种不同的表示方法,例如:14 = 13 + 1 = 8 + 5 + 1,其中13 + 1是最短的表示(只用了2个斐波那契数).定义F(n ...

  9. 【python】Python任务调度模块 – APScheduler

    APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用.目前最新版本为3.0 ...

  10. Java面向对象之继承extends 入门实例

    一.基础概念 (一)继承的好处: 1.继承:提高了代码的复用性. 2.让类与类之间产生了关系,给多态这个特征提供了前提. (二)继承的种类: 1.单继承:一个类只能有一个父类. 2.多继承:一个类可以 ...