一起看代码来玩玩QT之05 Controls
2016-02-20 16:30
351 查看
pixmap : 像素图
combo : 组合QObject::connect(&button,SIGNAL(clicked()),&w,SLOT(close()));
此连接信号槽 可用 c++ lamboda表达式
connect(radio, &QRadioButton::clicked, [](bool v){ qDebug() << v; });这需要 在 项目pro 中 加 config += C++11
内容有点多,请诸位 一个一个控件看,最好亲手打一遍!!!!!!! 一个一个控件 试!!!!!!!!!
.h 文件
#ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include <QTextEdit> class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = 0); QTextEdit* _edit; signals: public slots: void slotComboBoxIndexChanged(const QString&); }; #endif // MYWIDGET_H
.cpp 文件
#include "MyWidget.h" #include <QApplication> #include <QLabel> // disply static text, or image #include <QPushButton> #include <QLineEdit> // single line #include <QComboBox> #include <QCheckBox> #include <QRadioButton> #include <QTextEdit> // multi lines, rich text #include <QTextBrowser> // readonly textedit #include <QGroupBox> // #include <QSlider> // 模拟方式显示数值 #include <QSpinBox> // 数字 #include <QDateEdit> #include <QTimeEdit> #include <QDateTimeEdit> #include <QTabWidget> // 不介绍,不算控件 #include <QCompleter> #include <QHBoxLayout> #include <QDebug> #include <QPixmap> #include <QVBoxLayout> #include <QLCDNumber> MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { QVBoxLayout* lay = new QVBoxLayout(this); QLabel* label; QComboBox* combo; QPushButton* button; QRadioButton* radio; QTextEdit* edit; QGroupBox* group; lay->addWidget(label = new QLabel("<a href=www.baidu.com>baidu</a>")); label->setPixmap(QPixmap("../aaa.png")); connect(label, &QLabel::linkActivated, [](QString str){ qDebug() << str; }); lay->addWidget(button = new QPushButton("Button")); button->setStyleSheet("QPushButton {font:bold 16px; color:red; padding:5px}"); lay->addWidget(radio = new QRadioButton("Radio")); radio->setStyleSheet("QRadioButton {font:bold 16px; color:red; padding:5px}"); connect(radio, &QRadioButton::clicked, [](bool v){ qDebug() << v; }); lay->addWidget(new QCheckBox("check box")); lay->addWidget(combo = new QComboBox()); combo->addItem("Select item1"); combo->addItem("Select item2"); combo->setEditable(true); connect(combo, SIGNAL(currentIndexChanged(QString)), this, SLOT(slotComboBoxIndexChanged(QString))); combo->setCompleter(new QCompleter(combo->model())); lay->addWidget(edit = new QTextEdit); edit->setText("<table border=1><tr><th>head1</th><th>head2</th></tr>" "<tr><td>value1</td><td>value2</td></tr>" "<tr><td>value3</td><td>value4</td></tr>" "</table><br>" "<img src=../aaa.png></img>"); _edit = edit; connect(edit, &QTextEdit::textChanged, [&](){ // QTextEdit* edit = (QTextEdit*)this->sender(); qDebug() << _edit->toPlainText(); }); edit->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); edit->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); lay->addWidget(group = new QGroupBox("Some items")); QHBoxLayout* hBoxLay; group->setLayout(hBoxLay = new QHBoxLayout); hBoxLay->addWidget(new QPushButton("aaaa")); hBoxLay->addWidget(new QPushButton("aaaa")); QSlider* slider; QSpinBox* spinBox; lay->addWidget(slider = new QSlider(Qt::Horizontal)); slider->setMaximum(100); slider->setMinimum(0); lay->addWidget(spinBox = new QSpinBox); spinBox->setMaximum(100); spinBox->setMinimum(0); connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int))); connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); lay->addWidget(new QDateTimeEdit); QLCDNumber* lcd; lay->addWidget(lcd = new QLCDNumber(10)); lcd->display(12345); lcd->setMode(QLCDNumber::Hex); lcd->setSegmentStyle(QLCDNumber::Outline); } void MyWidget::slotComboBoxIndexChanged(const QString &str) { qDebug() << "slotComboBoxIndexChanged" << str; } int main(int argc, char** argv) { QApplication app(argc, argv); MyWidget w; w.show(); return app.exec(); }
相关文章推荐
- Qt Creator 第一个插件
- qt安装教程
- VS2013 平台下搭建 QT5.3 开发环境
- QT 曲线绘制-luozhiyong131-ChinaUnix博客
- 分享自TERRY-V 《Qt Creator生成带图标的exe文件》
- QT 生成的exe 无法打开 说缺少QTCORED4.DLL文件-三点水兽-ChinaUnix博客
- Qt学习之路(19): 事件(event) - 豆子空间 - 51CTO技术博客
- Qt中自定义类的方法
- QtMultiMedia 之 CameraFlash
- QtMultiMedia 之 CameraExposure
- QtMultiMedia 之 CameraCapture
- QT学习笔记——容器类总结
- SPOJ QTREE4 lct
- 一起看代码来玩玩QT之04 Layout
- 一起看代码来玩玩QT之03coordinate
- 一起看代码来玩玩QT之02LineEdit
- qt程序运行,有时候出现内存错误
- Pyqt4学习笔记-菜单工具栏
- 一起看代码来玩玩QT之01Hello world
- qt编译出现 /usr/bin/ld: cannot find -lQtCore的解决方法