首页 > Qt 4 学习1

Qt 4 学习1

菜鸟一枚,正在学习C++ Gui Qt4,整理很零碎,欢迎批评指正

 

1.窗口标题:

QWidget *window = new QWidget;

window->setWindowTitle("Enter Your Age");

****************************************

关于标题的补充:

在main函数中XX->show生成的窗口是关于xx,如果在子函数中,可以这么设置

setWindowTitle(tr("Fnd"));,没法使用setwindow=new QWidget(tr("Fnd"))或setwindow=new QString(tr("Fnd"))because没法赋值

2.滑块和微调框的应用

QSpinBox *spinBox = new QSpinBox;

    QSlider *slider = new QSlider(Qt::Horizontal);竖直是Vertical

    spinBox->setRange(0, 130);

    slider->setRange(0, 130);

3.文本框设置

    label = new QLabel(tr("Find &what:"));

4.编辑行

    lineEdit = new QLineEdit;

    label->setBuddy(lineEdit);

5.单选框

    caseCheckBox = new QCheckBox(tr("Match &case"));

    backwardCheckBox = new QCheckBox(tr("Search &backward"));

6.按钮

    findButton = new QPushButton(tr("&Find"));

    findButton->setDefault(true);

    findButton->setEnabled(false);

    closeButton = new QPushButton(tr("Close"));

&表明ctrl+&后的字母可实现聚焦作用

7.QObject

QObject::connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

//QObject是FindDialog的父对象之一,所以可以省略QObject::

connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

8.setlayout

这个函数是对窗口部件尺寸大小和位置

 setLayout(mainLayout)

setlayout是QWidget的子类,QDialog继承于QWidget,setlayou其实完整应该是QWidget::setLayout

9.比较字符串的时候 Qt::CaseSensitive区分大小写

Qt::CaseInSensitive不区分大小写

10.emit用法

 if (backwardCheckBox->isChecked()) {

        emit findPrevious(text, cs);

    } else {

        emit findNext(text, cs);

    }

emit是将信号findnext或信号findprevious发射出去;

说白了,就是调用findprevious或者findnext信号对应的槽函数,emit之前,在某个地方,肯定有connect把信号和槽进行关联,关联了之后,emit某个信号,就相当于调用这个信号connect时所关联的槽函数,就这么简单而已。

emit啥事也不干,是给程序员看的

更多相关:

  • 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 总体思路是: 比较两个链表头节点,较小的插入新链表指针之后,同时较小链表指针向后移动一位 实现如下: ListNode* mergeTwo...

  • 1.直接调用微软socket对象处理 static void Main(string[] args){try{IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });//在3721端口新建一个TcpListener对象TcpListener listener = new...

  •   现在很多地方都会用到zookeeper, 用到它的地方就是为了实现分布式。用到的场景就是服务注册,比如一个集群服务器,需要知道哪些服务器在线,哪些服务器不在线。   ZK有一个功能,就是创建临时节点,当机器启动应用的时候就会连接到一个ZK节点,然后创建一个临时节点,那么通过获取监听该路径,并且获取该路径下的节点数量就知道有哪些服务...

  • 前台到后台java时data日期类型的转化 在实体类中用@DataTimeFormat,这样设置即使传过来是空的字符串也是可以转的,要和前面传过来的格式一致,如 @XmlElement(name="BeginDate") @DateTimeFormat(pattern="yyyy-MM-dd") private Date begin...

  • 输入格式 输入文件的第 1 行包含两个数 N 和 M,N 表示初始时数列中数的个数,M 表示要进行的操作数目。 第 2 行包含 N 个数字,描述初始时的数列。 以下 M 行,每行一条命令,格式参见问题描述中的表格 输出格式 对于输入数据中的 GET-SUM 和 MAX-SUM 操作,向输出文件依次打印结 果,每个答案(数字)占...

  • 【传送门:BZOJ4491】 简要题意:   给出一个长度为n的序列,m个操作,每个操作输入x,y,求出第x个数到第y个数的最长子串,保证这个最长子串是不上升或不下降子串 题解:   线段树   因为不上升或不下降嘛,就差分一下呗   每一段区间维护:   d表示最多连续的非正数的个数,u表示最多连续的非负数的个数   ld表示左端点...

  • 主体段树,要注意,因为有set和add操作,当慵懒的标志下推。递归优先set,后复发add,每次运行set行动add马克清0 WA了好几次是由于计算那一段的时候出问题了,可笑的是我对着模板找了一个多小时的错。 #include #include #include #include

  • 但是对于表格要注意,在

    和之间还有一个,即使你在构建
    时没有使用这个