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学习2--目录结构

    根据FHS(http://www.pathname.com/fhs/)的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下, 所以他们希望独立的软件开发商.操作系统制 ...

  2. Hyper-V和vmware在虚拟机中安装xen总结

    1. Hyper-V 在hyper-v中安装了ubuntu13.04,运行很好,使用起来的效果感觉比vmware要舒服.安装变异xen的内核也没有问题,可以正常的安装,update-grub之后也可以 ...

  3. initWithFrame 和 initWithCoder 区别?

    当我们所写的程序里用代码创建控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self =[superinitW ...

  4. Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial【摘】

    Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial We learned how to integrate Spring ...

  5. [Lua快速了解一下]Lua的控制语句

    -Lua中没有++或者--的骚操作 -while loop sum = num = do sum = sum + num num = num + end print("sum =" ...

  6. POJ2253 Frogger(spfa变形)

    Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Fro ...

  7. java多线程的基本介绍

    Java多线程 1.进程与线程 进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程.多进程操作系统能同时达运行多个 ...

  8. 一个Sql备注

    ;WITH CTE AS ( SELECT [RGTCID] ,ltrim(rtrim(T.N.value('.','varchar(100)'))) as Querystr FROM [R_GT_C ...

  9. Mongo Windows 基本使用入门

    1.安装https://www.mongodb.com/download-center#community注意:安装 "install mongoDB compass" 不勾选下载 ...

  10. xmlreader与xmlwriter里的几个坑与解决方案

    加载超过100M的xml文件时(可能不是很常见),XmlDocument这种全部加载到内存里的模式就有点不友好了,耗时长.内存高. 这时用xmlreader就会有自行车换超跑的感觉,但其间遇到几个坑, ...