C++ GUI Qt4编程(06)-2.3sort
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的更多相关文章
- C++ GUI Qt4编程(10)-3.4spreadsheet
1. C++ GUI Qt4编程第三章,增加spreadsheet. 2. spreadsheet.h /**/ #ifndef SPREADSHEET_H #define SPREADSHEET_H ...
- C++ GUI Qt4编程(09)-3.3spreadsheet-toolbar
1. C++ GUI Qt4编程第三章,增加工具栏.状态栏和快捷键. 2. mainwindow.h /**/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #i ...
- C++ GUI Qt4编程(08)-3.2spreadsheet-resource
1. C++ GUI Qt4编程第三章,图片使用资源机制法. 2. 步骤: 2-1. 在resource文件夹下,新建images文件,存放图片. 2-2. 新建spreadsheet.qrc文件,并 ...
- C++ GUI Qt4编程(07)-3.1menu
1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include < ...
- C++ GUI Qt4编程(03)-1.3layout
1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7: Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #i ...
- C++ GUI Qt4编程(02)-1.2quit
1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7: Qt版本:5.5.13. 程序:quit.cpp #include <QApplication> #inc ...
- C++ GUI Qt4编程(01)-1.1Hello Qt
1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7: Qt版本:5.5.13. 程序:hello.cpp #include <QApplication> #in ...
- C++ GUI Qt4编程-创建自定义窗口部件
C++ GUI Qt4编程-创建自定义窗口部件 Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部 ...
- C++ GUI Qt4 编程 (第二版)
[加拿大]JasminBlanchette [英]MarkSummerfield . 电子工业 2008. 前几天的问题多是因为版本不兼容的问题. QT本身Q4 Q5就有版本问题,然后集成到VS08 ...
随机推荐
- linux信号基本概念及如何产生信号
linux信号基本概念及如何产生信号 摘自:https://blog.csdn.net/summy_j/article/details/73199069 2017年06月14日 09:34:21 阅读 ...
- 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 ...
- 20169219 Nmap扫描实验
提交用 namp 对Windows 靶机,SEED靶机,Linux靶机的扫描的命令和结果进行截图 一.首先分析Linux靶机Metasploitable 扫描Metasploitableb靶机 扫描M ...
- HTML、CSS、JavaScript网页制作从入门到精通 (刘西杰) pdf扫描版彩色版
html.css.JavaScript网页制作从入门到精通中从基础知识开始讲起,如html的基本标记.文字与段落标记.表格标记.超链接标记……同时介绍了目前流行的web标准与css网页布局实例,以及基 ...
- mvc - codefirst 数据迁移
from :http://blog.csdn.net/xiaoyiyz/article/details/41485325
- (一)用C或C ++扩展(翻译)
用C或C ++扩展 如果你知道如何用C语言编程,那么为Python添加新的内置模块是很容易的.这种扩展模块可以做两件不能直接在Python中完成的事情:它们可以实现新的内置对象类型,以及调用C库函数和 ...
- ubuntu14.10,安装ksnapshot(截图软件)
Linux:ubuntu14.10 ubuntu软件中心对它的描述:KSnapshot captures images of the screen. It can capture the whole ...
- 51 nod 1350 斐波那契表示
每一个正整数都可以表示为若干个斐波那契数的和,一个整数可能存在多种不同的表示方法,例如:14 = 13 + 1 = 8 + 5 + 1,其中13 + 1是最短的表示(只用了2个斐波那契数).定义F(n ...
- 【python】Python任务调度模块 – APScheduler
APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用.目前最新版本为3.0 ...
- Java面向对象之继承extends 入门实例
一.基础概念 (一)继承的好处: 1.继承:提高了代码的复用性. 2.让类与类之间产生了关系,给多态这个特征提供了前提. (二)继承的种类: 1.单继承:一个类只能有一个父类. 2.多继承:一个类可以 ...