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. 第十九课 pluginlib&Nodelet

    把rgb摄像头的数据转换为laser的时候使用了Nodelet. pluginlib(插件库) 在ros中有一个plugin的包,下面是一个ROS Plugin Registration的例子 上面包 ...

  2. Laravel 测试教程

    参考链接:https://laravel-news.com/seeding-data-testing 迁移文件 修改 database/migrations/2014_10_12_000000_cre ...

  3. keydown、input 和 keyup 事件

    keydown.keyup 属于键盘事件,input 属于文本事件. keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时触发. i ...

  4. Struts2获取Action中的数据

    当我们用Struts2框架开发时,经常有要获取jsp页面的数据或者在jsp中获取后台传过来的数据(Action),那么怎么去获取自己想要的数据呢? 后台获取前端数据: 在java程序中生成要获取字段的 ...

  5. 微信运动数据抓取(Python)

    "微信运动"能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/person ...

  6. 使用Jenkins远程部署war包到tomcat container

    Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to cont ...

  7. [web] [vscode] 自定义语言缩进

    vscode 默认的html 语言的缩进有点过,貌似一个tab6个space, html看起来太空了,所幸的是可以自己调整单个语言的缩进模式. 方法如下 Preferences: Open User ...

  8. centos7 .net core 使用supervisor守护进程,可以后台运行

    1.安装supervisor yum install supervisor 2.配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/super ...

  9. webrowser卡死解决方案

    webrowser 是由于有道词典造成 解决方案,关闭有道或卸载:

  10. 1222: FJ的字符串 [水题]

    1222: FJ的字符串 [水题] 时间限制: 1 Sec 内存限制: 128 MB 提交: 92 解决: 20 统计 题目描述 FJ在沙盘上写了这样一些字符串: A1  =  “A” A2  =   ...