QT学习笔记(1)
QT学习笔记(1)
表格测试
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
class MyLabel:public QLabel
{
//Q_OBJECT
public slots://自定义槽函数
void resetText(QTableWidgetItem*item);
};
//槽函数的类外实现
void MyLabel::resetText(QTableWidgetItem *item)
{this->setText(item->text());}
//主函数
int main(int argc,char*argv[])
{
QApplication a(argc,argv);
QWidget w;
w.setWindowTitle("我的表格窗口");
w.resize(1000,500);
QTableWidget t(4,3,&w);
t.resize(1000,400);
t.setFont(QFont("宋体",20));
t.setHorizontalHeaderLabels(QStringList()<<"标题"<<"网址"<<"作者");
t.setEditTriggers(QAbstractItemView::NoEditTriggers);
t.setItem(0,0,new QTableWidgetItem("QT学习笔记(1)"));
t.setItem(0,1,new QTableWidgetItem("https://www.cnblogs.com/zhangdezhang/p/16277071.html"));
t.setItem(0,2,new QTableWidgetItem("zdz"));
t.setItem(1,0,new QTableWidgetItem("C++学习笔记(2)"));
t.setItem(1,1,new QTableWidgetItem("https://www.cnblogs.com/zhangdezhang/p/16268859.html"));
t.setItem(1,2,new QTableWidgetItem("zdz"));
t.setItem(2,0,new QTableWidgetItem("C++学习笔记(1)"));
t.setItem(2,1,new QTableWidgetItem("https://www.cnblogs.com/zhangdezhang/p/16264787.html"));
t.setItem(2,2,new QTableWidgetItem("zdz"));
MyLabel label;
label.setText("请选择一个单元格");
label.setParent(&w);
label.resize(900,150);
label.move( QPoint(0,400));
label.setAlignment(Qt::AlignCenter);
label.setFont(QFont("宋体",30));
QObject::connect(&t,QTableWidget::itemClicked,&label,MyLabel::resetText);
w.show();
return a.exec();
}
运行结果
按钮测试
#include
#include
//按钮测试
int main(int argc,char*argv[])//主函数
{
QApplication a(argc,argv);//创建应用
QWidget w;//创建窗口
w.setWindowTitle("QT真是牛逼");//设置窗口标题
w.setStyleSheet("QWidget{background-color:green;}");//窗体背景绿色
QPushButton b("QPushButton按钮",&w);//设置父对象
b.move(100,100);//设置位置
//设置字体大小,设置背景颜色
b.setStyleSheet("QPushButton{font:20px;background-color:red;}");
b.resize(200,200);//设置尺寸
//设置信号槽,点击按钮--按钮隐藏
QObject::connect(&b,QPushButton::clicked,&b,QPushButton::hide);
w.show();//显示窗口
return a.exec();//循环等待
}
运行结果
QT思维导图
QT的信号槽的消息机制(事件/委托-事件处理函数);
QObject::connect(&b,QPushButton::clicked,&w,QWidget::close);